Есть ли способ заставить XAML / C # StringFormat отображать целые доллары для больших сумм и центы для меньших?

В XAML достаточно просто использовать StringFormat = '$ #, 0; $ - #, 0; Nil' для отображения связанной целочисленной переменной в виде хорошо отформатированной суммы в долларах. например, 1024 будет выглядеть как «1024 доллара».

Мне нужно иметь дело с числами в диапазоне от нескольких центов до нескольких сотен долларов, поэтому 0,45 должно отображаться как «0,45 доллара», но все, что превышает некоторый порог (1–9,99?), должно отображаться как сумма в долларах. Например, 12.73 должен отображаться как «$ 13».

Прежде чем я продолжу и наберу немного неаккуратный и специфический код, есть ли у кого-нибудь хороший умный способ сделать это? В идеале все это должно быть в StringFormat :)

5
задан whybird 16 September 2010 в 03:42
поделиться