我有一个 C# 应用程序,它在文本框中显示一些大数字。我希望它使用逗号作为千位分隔符。我使用以下代码来做到这一点:
txtNumberDisplay.Text = intNumber.ToString("N0");
上面的代码工作正常,直到最近它以以下形式正确显示数字:
123,456
最近千位分隔符以某种方式更改为句点“.”数字显示如下:
123.456
我的第一个想法是文化不知何故设置不正确,但我检查了当前线程在显示此数字时的默认文化,并将其正确设置为“EN-US”。知道为什么这会显示句点而不是逗号吗?
谢谢,
最佳答案
使用字符串格式:
int value = 1234;
string.Format(@"{0:#\,##0}", value);
//Output will be 1,234
编辑:添加了一个\,
EDIT2:刚刚发现这不适用于 6 位数字(需要两个逗号),所以这是一个解决方法,但必须有更好的解决方案...
int value = 1234;
string s = "#";
for (int i = 0; i < value.ToString().Length / 3; i++) s += @"\,###";
string output = string.Format(@"{0:" + s + "}", value);
关于逗号分隔数字的 C# 默认格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972845/