【发布时间】:2012-02-27 00:37:56
【问题描述】:
如何像快照图片一样以 KB 表示长值?
【问题讨论】:
如何像快照图片一样以 KB 表示长值?
【问题讨论】:
static string ReadableFileSize(double size, int unit=0)
{
string[] units = { "B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
while(size >= 1024) {
size /= 1024;
++unit;
}
return String.Format("{0:0.#} {1}", size, units[unit]);
}
虽然这并没有具体按照您的要求进行。如果你有一个long 代表bytes 的数量,那么你所要做的就是除以1024。1 KiB = 1024 B。
我还写了一个JavaScript version,如果有人需要,它会更强大。
【讨论】:
这可能就是你要找的:
long memory = 210957130;
Console.WriteLine("{0:N0} K", memory / 1024);
Console.WriteLine(string.Format(new CultureInfo("en-US"), "{0:N0} K", memory / 1024));
如果您想使用当前区域设置中的千位分隔符,请使用第一个选项。如果您特别想使用逗号,请使用第二个选项。
【讨论】: