I'd like to use Java's DecimalFormat to format doubles like so:
#1 - 100 -> $100
#2 - 100.5 -> $100.50
#3 - 100.41 -> $100.41
The best I can come up with so far is:
new DecimalFormat("'$'0.##");
But this doesn't work for case #2, and instead outputs "$100.5"
Edit:
A lot of these answers are only considering cases #2 and #3 and not realizing that their solution will cause #1 to format 100 as "$100.00" instead of just "$100".
You can try by using two different
DecimalFormat
objects based on the condition as follows:You can check "is number whole or not" and choose needed number format.
will give exactly what you want:
I know its too late. However following worked for me :
Hope this helps whoever reads this in future :)