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