2009-11-11 61 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