【问题标题】:String.Empty as a "precision specifier"String.Empty 作为“精度说明符”
【发布时间】:2012-01-21 06:17:29
【问题描述】:

Jon Skeet said 表示 ""String.Empty 由于字符串暂留而等效。在查看 ICustomFormatter 的 MSDN 时,Format 方法中有一行

// Handle null or empty format string, string with precision specifier.
string thisFmt = String.Empty;

起初我以为他们可能会添加一个空字符串,以避免在以后的逻辑中处理空值。但这并不能解释“精度说明符”的含义。

什么是“精度说明符”?

【问题讨论】:

标签: c# string


【解决方案1】:

来自here

精度说明符的范围从 0 到 99 并控制 小数点右侧的有效数字或零。

【讨论】:

    【解决方案2】:

    当将字符串格式化为数字类型时,可以在格式字符串中提供精度说明符,如下例所示:

     int quantity = 1500;
     float price = 1.50F;
     float discount = 0.05F;
    
     Console.WriteLine(quantity.ToString("n0"));        // Outputs "1,500"
     Console.WriteLine(price.ToString("c"));            // Outputs "£1.50"
     Console.WriteLine(discount.ToString("p1"));        // Outputs "5.0 %"
    

    在定点和百分比说明符的情况下,包括一个数字。这是精度说明符,用于修改格式。

    【讨论】:

      【解决方案3】:

      这可能意味着稍后,这个变量将包含一个格式字符串,其中包含一个精度说明符。即,如果一个双精度值被格式化,那么您可以指定小数点右边将显示多少位。它没有链接到字符串内部。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-16
        相关资源
        最近更新 更多