如何在Double.toString()方法中添加千位分隔符?

4
我想要给一个类型为double的变量添加千位分隔符。我尝试使用String.format("%,f", x);等方法,但似乎它有固定的小数位数,不像Double.toString()
例如,对于值1234.5: Double.toString():1234.5 String.format():1.234,500000 期望结果:1.234,5
1个回答

4

NumberFormat 类知道如何使用适合您用户所在地区的十进制分隔符。

NumberFormat formatter = NumberFormat.getInstance();
String formattedDouble = formatter.format(1234.5);

如果小数位数太多,您可以使用setMaximumFractionDigits方法。


谢谢,NumberFormat并不完美,但它的一个子类DecimalFormat却可以。 - dsfsdfsdf
对于其他千位分隔符和小数点分隔符,您可以在 NumberFormat.getInstance() 中指定区域设置。 - Marco Sulla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接