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 の場合にのみオーバーライドしたいと考えています。その場合、"Free" 文字列を含むローカライズされたリソースを簡単に返すことができます。
では、これを行うにはどうすればよいですか?
ありがとう