如何像快照图片一样用KB表示长值?
答案 0 :(得分:7)
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更健壮。
答案 1 :(得分:5)
这可能就是你要找的东西:
long memory = 210957130;
Console.WriteLine("{0:N0} K", memory / 1024);
Console.WriteLine(string.Format(new CultureInfo("en-US"), "{0:N0} K", memory / 1024));
如果您想使用当前区域设置中的千位分隔符,请使用第一个选项。如果您特别想使用逗号,请使用第二个选项。