【问题标题】:format number with 3 trailing decimal places, a decimal thousands separator, and commas after that格式数字,后跟 3 个小数位,小数点后的千位分隔符和逗号
【发布时间】:2013-05-04 05:11:37
【问题描述】:

这可能是一个简单的问题,我确信有一种方法可以使用 string.format()NumberFormatInfoCultureInfo 或它们的某种组合,但我需要显示带有 3 个尾随的大数值小数位,千位分隔符用小数而不是逗号,百万分隔符和向上用逗号。

输入是整数或后跟最多三位小数的数字(20000、123.456、12.2)

例如:

142650 应显示为 142,650.000

11200.50 应显示为 11,200.500

123.456 应保持为 123.456

我想这与将值除以 1000 然后使用string.format("{0:f3}", value) 相同,但我希望找到不带算术的东西。

String.Format("{0:#,#.000}", value) 让我很接近,但它在小数字上放置了一个前导 0,所以 1.256 显示为 01.256,而我需要它保持为 1.256

【问题讨论】:

  • 你到底传递了什么值? String.Format("{0:#,#.000}", 1256) 打印“1,256.000”。我认为我们需要查看更多您的代码。
  • 查看编辑。对此感到抱歉。
  • 根据您的编辑,您现在似乎正在将输入除以 1000。正如您所说,f3 格式应该可以满足您此时的需要。

标签: c# string-formatting cultureinfo number-formatting


【解决方案1】:

String.Format("{0:#,0.000}", value) 格式最终为我做了。它适用于整数和带有 1 到 3 个尾随小数位的数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多