我觉得我正在尝试做一些简单的事情,但我没有得到我想要的结果。我想显示一个基本数字,总是积极的。我不想要任何前导零,但我想要数千个分隔符。例如,对于以下输入,我想要以下输出:
3 -> 3
30 -> 30
300 -> 300
3000 -> 3,000
30000 -> 30,000
300000 -> 300,000
目前,为了尝试这样做,我使用以下格式代码:
string text = "*Based on " + String.Format("{0:0,0}", total) + " entries";
目前,输出如下:
3 -> 03
3000 -> 3,000
当不需要千位分隔符时,您可以看到如何添加前导“0”。如何正确格式化我的数字?
谢谢
答案 0 :(得分:8)
string.Format(new CultureInfo("en-US"), "{0:N0}", total)
请参阅:Standard Numeric Format Strings
- 或 -
string.Format(new CultureInfo("en-US"), "{0:#,#}", total)
答案 1 :(得分:2)
使用“#,## 0”。
答案 2 :(得分:2)
除了其他好建议之外,您不应该使用字符串连接运算符。只需这样做:
string text = string.Format("*Based on {0:#,##0} entries", total);
这使得阅读更容易,而且工作量更少。
答案 3 :(得分:1)
试试这种格式。
{0:#,##0}
答案 4 :(得分:1)
你也可以这样做:
string text = "*Based on " + total.ToString("#,##0") + " entries";
答案 5 :(得分:0)
以下是使用PowerShell的示例。重要的是格式字符串是"{0:n0}"
。
3, 30, 300, 3000, 30000, 300000, 3000000, 30000000 |
%{ "{0} -> {0:n0}" -f $_ }
产生:
PS C:\ Users \ Damian> 3,30,300,3000,30000,300000,3000000,3000000 | %{“{0} - > {0:n0}” - f $ _}
3 -> 3
30 -> 30
300 -> 300
3000 -> 3,000
30000 -> 30,000
300000 -> 300,000
3000000 -> 3,000,000
30000000 -> 30,000,000