2013-03-05 64 views
0

我有一个字符串数字,我想格式化为逗号。使用逗号格式化数字字符串

例如,字符串12345需要被显示为12345

如何做到这一点?

这是嵌入在HTML中。

+0

检查'NumberFormatInfo.NumberGroupSeparator' – sll 2013-03-05 17:54:09

+0

因为它有很好的答案,所以我不打算建议这样做在MSDN上。 – Jodrell 2013-03-05 17:56:56

+0

@Mike快速澄清问题 - 您的号码是否已经存储在“字符串”类型中?我们可以看到你到目前为止所尝试过的吗? – EtherDragon 2013-03-05 17:58:32

回答

2

时退房documentation

value = 1234567890; 
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture)); 
// Displays 1,234,567,890 
+0

得到错误“CultureInfo在当前上下文中不存在”更改为“System.Globalization.CultureInfo.InvariantCulture”给出错误'没有重载方法ToString需要2个参数' – Mike 2013-03-05 18:02:04

+0

@Mike请确保'value'(或任何变量'正在使用)被声明为“int”而不是“对象”。 – 2013-03-05 18:09:28

+0

它必须是一个对象 – Mike 2013-03-05 18:13:50

6

canonical MSDN article

Group separator specifier: 
2147483647.ToString("##,#", en-US) -> 2,147,483,647 
2147483647.ToString("##,#", es-ES) -> 2.147.483.647 

Scaling specifier: 
2147483647.ToString("#,#,,", en-US) -> 2,147 
2147483647.ToString("#,#,,", es-ES) -> 2.147 

,或者对于更轻的触摸,看到这个great article from years ago

0
int answer = 12345; 
Console.WriteLine(String.Format("{0:n0}", answer)); 

使用内置的格式化Console.WriteLine的:

int answer = 12345; 
Console.WriteLine("{0:n0}", answer); 
+0

'string sAnswer = 12345; String.Format(“{0:n0}”,sAnswer)'return'12345' – Mike 2013-03-05 18:04:51

+0

因为你刚开始是一个'string',所以你应该从一个数字开始,例如'int'。看看我的编辑。 – Khan 2013-03-05 18:09:08

+0

oops猜我没有提及,这个c#嵌入在html中,console.writeline不会工作 – Mike 2013-03-05 18:11:55

0

参见Standard Number Formatting

int number = 12345; 
number.ToString("N0"); 
+0

将无法​​正常工作戳..类似这样的事情将然而''int number = 123456; var strNumber = number.ToString(“N0”);' – MethodMan 2013-03-05 18:23:59

0

要显示带格式的数字,您需要使用ToString()函数进行格式化。

例子:

int value = 123456; 
value.ToString("N0") // Displays: 123,4556 as a string. 

更多信息可以在这里找到:http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

+0

值应该是一个字符串 – Mike 2013-03-05 18:09:16

+0

Zachary答案是不正确的输出不显示123,4556你真的运行,不提及你在你的答案中有一个错字 – MethodMan 2013-03-05 18:20:21

+0

这将工作,但是 'int值= 123456; var newValue = value.ToString(“N0”);' – MethodMan 2013-03-05 18:24:47

1
string str = string.Format("{0:n2}", 12345); 
Console.WriteLine(str); 
Console.Read(); 

注意:我在使用的String.format N2,这意味着你要高达小数点后2位。如果你不想在十进制后有任何数字,你可以设置2到0