如何使用NumberFormat
对给定的Locale
(默认区域设置足够)和给定小数位数格式化double
值?
例如,我有以下值:
double d1 = 123456.78;
double d2 = 567890;
我想以以下方式打印它们,例如使用美国区域设置和2位小数:
123,456.78
567,890.00
在这种情况下,我实际上不关心舍入模式,因为这些双精度值是从具有给定比例的BigDecimal
获得的,因此它们的小数位数始终小于或等于我想要打印的小数位数。
编辑:
为了让事情更加清晰,我想以区域设置相关的方式显示货币,但保留固定的小数位数。 上面的示例展示了如果系统区域设置为en_US
,应如何格式化这些值。 现在假设系统区域设置为cs_CZ
(捷克语),则相同的数字应按以下方式进行格式化:
123 456,78
567 890,00
现在,我该如何设置NumberFormat以始终显示2位小数,但根据当前语言环境显示千位分隔符和小数点?