使用Razor视图引擎 - 如何格式化十进制值以使用逗号和两个小数位?

时间:2011-08-17 02:59:33

标签: asp.net-mvc string formatting razor

正如标题所示 - 我的viewmodel中有一个十进制值。我无法控制。我想使用Razor View Engine将其显示为货币。

$@String.Format("{0:0.00}", 1005.3422)

通过以下方式帮助我:

$1005.34

但我怎么能在那里得到逗号?

由于

4 个答案:

答案 0 :(得分:27)

您可以使用{0:c}吗?这只是.NET中的标准字符串格式,“c”代表货币。有很多standard numeric string formats。当然,custom formatting也是如此。

答案 1 :(得分:3)

$ @ String.Format(“{0:#,## 0.00}”,1005.3422)

答案 2 :(得分:2)

大多数情况下,如果您没有获得字符串转换所期望的字符,则可能是区域设置问题。例如,您正在使用en-us语言环境进行开发,但有人带有fr-FR语言环境。然后,日期,货币等将被格式化和解析不同。

答案 3 :(得分:1)

理想情况下,您将从某个模型中获取视图数据,例如public decimal ItemPrice { get; set; }

在这种情况下,您视图中的Razor表达式可能为@Model.ItemPrice.ToString("c")

同样可以用于简单的ViewBag项目,例如@ViewBag.ItemPrice.ToString("c")