Java 中的美元货币格式
在Java中,我如何有效地将类似和相似的BigDecimals的浮点数转换为字符串,例如1234.56
$1,234.56
我正在寻找以下内容:
字符串变为字符串12345.67
$12,345.67
我也希望这样做。Float
BigDecimal
在Java中,我如何有效地将类似和相似的BigDecimals的浮点数转换为字符串,例如1234.56
$1,234.56
我正在寻找以下内容:
字符串变为字符串12345.67
$12,345.67
我也希望这样做。Float
BigDecimal
有一个对区域设置敏感的习语效果很好:
import java.text.NumberFormat;
// Get a currency formatter for the current locale.
NumberFormat fmt = NumberFormat.getCurrencyInstance();
System.out.println(fmt.format(120.00));
如果您当前的区域设置位于美国,则将打印 $120.00println
另一个例子:
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));
这将打印: £120.00
DecimalFormat moneyFormat = new DecimalFormat("$0.00");
System.out.println(moneyFormat.format(1234.56));