.net 显示没有货币符号的本地化货币格式
.net display localised currency format without currency symbol
我有一个需要显示货币字段的本地化站点。
货币将保持不变,不会因文化而异
我试过像这样格式化货币:
@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
有什么想法可以在视图中指定我自己的货币符号时保留格式吗?
您可以更改文化中的货币符号。创建一个文化副本,然后随意更改:
var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.CurrencySymbol = "€";
@String.Format(culture, "{0:C}", 12);
也许您可以在某个静态变量中保存文化副本,这样就不必在每次请求时都进行克隆...
我有一个需要显示货币字段的本地化站点。
货币将保持不变,不会因文化而异
我试过像这样格式化货币:
@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
有什么想法可以在视图中指定我自己的货币符号时保留格式吗?
您可以更改文化中的货币符号。创建一个文化副本,然后随意更改:
var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.CurrencySymbol = "€";
@String.Format(culture, "{0:C}", 12);
也许您可以在某个静态变量中保存文化副本,这样就不必在每次请求时都进行克隆...