Kategorier
Hemmakodat

Snyggare filstorlekar i C# (BytesToString)

Jag har oräkneliga gånger googlat upp en funktion som översätter ett antal byte till ett mer “human readable” format, dvs till antalet KB, MB, GB, osv.

Nu postar jag min egen funktion här så slipper jag leta efter den i fortsättningen…

private static String BytesToString(long byteCount)
{
    string[] suf = { " B", " KB", " MB", " GB", " TB", " PB", " EB" }; //Longs run out around EB
    if (byteCount == 0)
        return "0" + suf[0];
    long bytes = Math.Abs(byteCount);
    int place = Convert.ToInt32(Math.Floor(Math.Log(bytes, 1024)));
    double num = Math.Round(bytes / Math.Pow(1024, place), 1);
    return (Math.Sign(byteCount) * num).ToString() + suf[place];
}

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *