如何在MVC3、C#中显示数字到小数点后两位?

16

可能重复:
使用字符串格式将小数显示为两位或整数
如何将小数点设置为两位小数?

我的视图中有一个价格字段,它具有以下值2.5和44。 我想将此值显示为2.50和44.00,我使用以下代码

@{decimal prolistprice = decimal.Parse(item.OtherFields["Price"].ToString());}
  $@Math.Round(prolistprice, 2, MidpointRounding.AwayFromZero)

item.OtherFields ["price"] 是一个对象时,我将其转换为字符串,然后转换为十进制数。

但是 Math.round 不起作用,它只显示 2.5 和 44.. 有人能帮忙解决吗?


为什么标题说“整数”? - Marcelo Cantos
你可以参考这篇文章:https://dev59.com/7Ww05IYBdhLWcg3w6F8w - Deepak.Aggrawal
https://dev59.com/i2035IYBdhLWcg3wbPY5 - alexsuslin
4个回答

41

Math.Round的作用是将数字四舍五入。

若需要格式化数字,可以使用.ToString(formatString)方法,如下:

item.OtherFields["price"].ToString("0.00")

1
没有重载方法 ToString 接受 1 个参数。 - niico
3
你可能在一个可空类型上调用 ToString。如果是这样,你需要使用 youVariable.Value.ToString("0.00")。但别忘了先进行空值检查! - PeteGO

13

使用字符串格式化函数

1. string.Format("{0:n2}", 200000000.8776);
2. string.Format("{0:n3}", 200000000.8776);
3. string.Format("{0:n2}", 0.3);

/* OUTOUT
1. 200,000,000.88
2. 200,000,000.878
3. 0.30
*/

5

这个应该适合你使用

yourvalue.ToString ("0.00");

3
decimal dValue = 2.5;
string sDisplayValue = dValue.ToString("0.00");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接