我有一个需要显示货币字段的本地化网站。
货币将保持不变,并且每种文化不会改变
我试图像这样格式化货币:
@String.Format(CultureInfo.CurrentCulture, "{0:C}", item.GrossPayment)
但这不起作用,因为它显示该文化的原生货币符号。
我想显示12欧元,但上面显示¥12
所以,格式是我想要的,但没有我可以硬编码的货币符号
所以接下来我尝试了这个:
€@String.Format(CultureInfo.CurrentCulture, "{0:N}", item.GrossPayment)
在ja-JP
12.00€
显示这样就克服了我的货币符号问题,但现在格式错误,因为在ja-JP文化中应该没有小数点或尾随零,它应该显示为
€12
如何在视图中指定我自己的货币符号时如何保留格式?
答案 0 :(得分:0)
您可以更改文化中的货币符号。创建文化的副本,然后随意更改:
var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.CurrencySymbol = "€";
@String.Format(culture, "{0:C}", 12);
也许你可以在一些静态变量中保存文化的副本,所以不必在每个请求上克隆...