Sprache: C#
Gibt die in einem Long übergebene Dateigröße als String zurück.
Basiert auf der VB Version von 'dognose'
string CreateNiceFileSize(long size)
{
int run = 0;
double d = Convert.ToDouble(size);
string[] sizes = {"B", "KB", "MB", "GB"};
while (d >= 1024)
{
d /= 1024;
run++;
}
double dou = Math.Round(d, 2);
string sizestring = dou.ToString();
return (sizestring+" "+sizes[run]);
}
string CreateNiceFileSize(long size)
{
int run = 0;
double d = Convert.ToDouble(size);
string[] sizes = {"B", "KB", "MB", "GB"};
while (d >= 1024)
{
d /= 1024;
run++;
}
double dou = Math.Round(d, 2);
string sizestring = dou.ToString();
return (sizestring+" "+sizes[run]);
}
Alte URL:
/snippet/create-nice-file-size-in-c/906
hey geil.
du hast einen wichtigen, potentiellen fehler übersehen.
versuch mal, der methode eine dateigröße im terrabyte-bereich mitzugeben, dann nimmt er einen zu hohen index, der ja nicht existiert. Also am besten gegenprüfen, ob „run“ auch nicht über die anzahl der elemente in sizes kommt.
und als 2. ist mir aufgefallen: wieso lässt du ein long übergeben, dass du dann in ein double umwandelst? kostet nur unnötig ressourcen. lass doch gleich einen double übergeben.