如何从长值转换为 KB 字符串格式
Posted
技术标签:
【中文标题】如何从长值转换为 KB 字符串格式【英文标题】:How do I convert from long value to KB string format 【发布时间】:2012-02-27 00:37:56 【问题描述】:如何像快照图片一样以 KB 表示长值?
【问题讨论】:
【参考方案1】:From my blog:
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,如果有人需要,它会更强大。
【讨论】:
我需要按照图片中的格式进行操作。当它变为 >= Math.Pow(1024, 2) .. @MurHafSoz:是的,这就是我写第二段的原因。只需除以 1024。除非您质疑如何用逗号格式化数字......但无论如何,Yuriy 解释了这一点。【参考方案2】:这可能就是你要找的:
long memory = 210957130;
Console.WriteLine("0:N0 K", memory / 1024);
Console.WriteLine(string.Format(new CultureInfo("en-US"), "0:N0 K", memory / 1024));
如果您想使用当前区域设置中的千位分隔符,请使用第一个选项。如果您特别想使用逗号,请使用第二个选项。
【讨论】:
以上是关于如何从长值转换为 KB 字符串格式的主要内容,如果未能解决你的问题,请参考以下文章