【问题标题】:How do I convert from long value to KB string format如何从长值转换为 KB 字符串格式
【发布时间】:2012-02-27 00:37:56
【问题描述】:

如何像快照图片一样以 KB 表示长值?

【问题讨论】:

    标签: c# string format


    【解决方案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));
    

    如果您想使用当前区域设置中的千位分隔符,请使用第一个选项。如果您特别想使用逗号,请使用第二个选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-23
      • 2023-04-04
      • 1970-01-01
      • 2014-04-13
      • 2010-12-23
      • 1970-01-01
      • 2013-09-22
      • 2015-05-18
      相关资源
      最近更新 更多