字节(1024)到字符串转换(1 KB)?

Ani*_*mde 5 .net c#

我想知道.NET中是否有一个函数将数字字节转换为正确测量的字符串?

或者我们只需要遵循分割和保持转换单元的旧方法来完成它?

SLa*_*aks 7

不,没有.

你可以这样写一个:

public static string ToSizeString(this double bytes) {
    var culture = CultureInfo.CurrentUICulture;
    const string format = "#,0.0";

    if (bytes < 1024)
        return bytes.ToString("#,0", culture);
    bytes /= 1024;
    if (bytes < 1024)
        return bytes.ToString(format, culture) + " KB";
    bytes /= 1024;
    if (bytes < 1024)
        return bytes.ToString(format, culture) + " MB";
    bytes /= 1024;
    if (bytes < 1024)
        return bytes.ToString(format, culture) + " GB";
    bytes /= 1024;
    return bytes.ToString(format, culture) + " TB";
}
Run Code Online (Sandbox Code Playgroud)