剃刀格式十进制?价值观

Razor Format Decimal? value in view

我目前正在开发 ASP.NET MVC 4.6 应用程序。我尝试将 Decimal? 属性 格式化为正确的字符串格式。

我的 属性 看起来像这样:

public decimal? Amount{ get; set; }

数据库中的数据如下所示:10000,99

我想要的实际输出应该是:€ 10.001

没有十进制值,也不允许有 ,(逗号)。

在我目前使用的 Razor 视图中:

@String.Format("{0:N0}", Model.Amount)

虽然我得到了这个结果:€ 10 000 这几乎可以正常工作,但不幸的是这是错误的。

你知道在 ASP.NET MVC Razor 中解决这个问题很热门吗?期望产出 € 10.001

谢谢!!!

String.Format() 有一个接受 IFormatProvider 的重载。只需在那里传递所需的数字格式:

var c = new System.Globalization.CultureInfo(""); // create InvariantCulture
c.NumberFormat.NumberGroupSeparator = ".";

var s = String.Format(c, "{0:N0}", 10000.99);