我需要在我的ASP.NET MVC应用程序中显示货币,但当货币为0时,我希望它显示“免费”(当然要本地化!)而不是$0.00。
所以当我有像这样的东西时...
Decimal priceFree = 0.00;
Decimal priceNotFree = 100.00;
priceFree.ToString("C");
priceNotFree.ToString("C");
输出结果为 "$0.00" "$100.00"
我希望它变成 "免费" "$100.00"
我想我可以使用.ToString(string format, IFormatProvider formatProvider)方法来实现,但我不确定该如何去做。显然,我希望尽可能多地重用NumberFormatInfo,并且仅在输入为0时覆盖它。在这种情况下,我可以简单地返回一个包含“免费”字符串的本地化资源。
那么我该怎么做呢?
谢谢