让我们运行以下代码:double number = 12345.678888;String str1 = String.format(Locale.FRANCE, "%.10f", number);String str2 = NumberFormat.getInstance(Locale.FRANCE).format(number);System.out.println(str1);System.out.println(str2);输出将是:12345,678888000012 345,679但是这些不是我想要的。我想指定小数位数,NumberFormat就像String.format()可以做的那样。我也尝试过DecimalFormat,但我不认为这就是答案。如果我正在编写C#代码,则可以像这样简单地完成:string str = string.Format(new CultureInfo("fr-FR"), "{0:#,##0.0000000000}", number);输出将是:12 345,6788880000如何在Java中实现同一目标?
1 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
参考文档,NumberFormat
具有setMaximumFractionDigits
和setMinimumFractionDigits
,因此:
NumberFormat formatter = NumberFormat.getInstance(Locale.FRANCE);
formatter.setMaximumFractionDigits(10);
formatter.setMinimumFractionDigits(10);
String str2 = formatter.format(number);
那给我
12 345,6788880000
添加回答
举报
0/150
提交
取消