2013-03-05 114 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