In java, how can I efficiently convert floats like 1234.56 and similar BigDecimals into Strings like $1,234.56
I'm looking for the following:
String 12345.67 becomes String $12,345.67
Float and BigDecimal as well.
Thanks.
In java, how can I efficiently convert floats like 1234.56 and similar BigDecimals into Strings like $1,234.56
I'm looking for the following:
String 12345.67 becomes String $12,345.67
Float and BigDecimal as well.
Thanks.
DecimalFormat moneyFormat = new DecimalFormat("$0.00");
System.out.println(moneyFormat.format(1234.56));
There's a locale-sensitive idiom that works well:
import java.text.NumberFormat;
// Get a currency formatter for the current locale.
NumberFormat fmt = NumberFormat.getCurrencyInstance();
System.out.println(fmt.format(120.00));
If your current locale is in the US, the println
will print $120.00
Another example:
import java.text.NumberFormat;
import java.util.Locale;
Locale locale = new Locale("en", "UK");
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
System.out.println(fmt.format(120.00));
This will print: £120.00