Мне нужно отобразить валюту в моем приложении 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 (формат строки, IFormatProvider formatProvider), но я не уверен, как это сделать. Очевидно, я хочу повторно использовать как можно большую часть NumberFormatInfo и переопределять его только при вводе 0. В этом случае я могу просто вернуть локализованный ресурс, содержащий мою «свободную» строку.
Так как мне это сделать?
Спасибо