TechBlog

Teknik och filosofi

Snyggare filstorlekar i C# (BytesToString)

inga kommentarer

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];
}

Av kalle

november 5th, 2013 at 9:27 f m

Postat i Hemmakodat

Taggat med

Kommentera