Как использовать Java DecimalFormat для «умного» форматирования валюты?

Я бы хотел использовать DecimalFormat Java для форматирования двойников следующим образом:

#1 - 100 -> $100
#2 - 100.5 -> $100.50
#3 - 100.41 -> $100.41

Лучшее, что я могу придумать на данный момент, это:

new DecimalFormat("'$'0.##");

Но это не работает для случая №2, и вместо этого выдает «100,5 $»

Редактировать:

Многие из этих ответов рассматривают только случаи №2 и №3 и не понимая, что их решение приведет к тому, что №1 отформатирует 100 как «100,00 долларов США», а не просто «100 долларов США».

29
задан Peter 17 February 2011 в 19:20
поделиться