2009-11-11 96 views
0

我有這些數字:C#數字格式問題

5.25 
10251.35 
5 

,我希望他們能夠與團體始終與2位小數進行格式化,XX

這是.ToString("N2")做:

5,25 
10.251,35 
5 

我怎樣才能讓'5'樣子5,00嗎? 當然對於多種文化(en:5.0,de:5,0 ...)

事實上這個問題沒有意義,N2應該不惜一切代價去做。問題出在我的WebServer上。

+0

什麼,Jn Skeet沒有回答?必須在他的茶歇。 – Skizz 2009-11-11 15:10:44

+0

在那裏有Bug,的'O'鍵。 – Skizz 2009-11-11 15:11:20

+0

我不敢相信你記得我...... – 2009-11-11 15:12:50

回答

2

這難道不是爲你工作:

decimal d = 5m; 
string formatted = d.ToString("N2"); 

這將使用當前的文化,但你可以指定一個:

string formatted = d.ToString("N2", new CultureInfo("fr-FR")); 
+0

這就是我正在做的。但它不顯示12.510,00。它只顯示12.510 – 2009-11-11 15:11:05

+0

對於什麼輸入? – 2009-11-11 15:11:56

+0

'12510m.ToString(「N2」)'爲en-US返回'12,510.00'。 – 2009-11-11 15:12:58

2

的ToString(「{0:#,0.00 }「)

注意:雖然這使用美國&十進制符號,但結果將是區域意識,假設您的當前用戶語言環境設置正確或喲你將一個語言環境傳遞給ToString()。

+0

你的解決方案的工作太當然。 +1點 – 2009-11-12 09:15:52

0

你所擁有的格式(定點),你應該使用:

.ToString("F2"); 

您這裏有所有的格式:MSDN

+0

事實上,我想要N和F的組合,不僅是F2 – 2009-11-11 15:14:12