我需要在我的 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 时覆盖它。在这种情况下,我可以简单地返回一个包含我的“免费”字符串的本地化资源。
那么我该怎么做呢?
谢谢