如何使用Java中的NumberFormat指定小数位数?

如何使用Java中的NumberFormat指定小数位数?,java,locale,number-formatting,string.format,Java,Locale,Number Formatting,String.format,让我们运行以下代码: 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); 产出将是: 12345678

让我们运行以下代码:

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);
产出将是:

12345678880000

12345679

但这不是我想要的。我想用
NumberFormat
指定小数位数,就像
String.format()
可以做的那样。我也尝试了
DecimalFormat
,但我认为这不是答案

如果我在写C#代码,可以这样简单地完成:

string str = string.Format(new CultureInfo("fr-FR"), "{0:#,##0.0000000000}", number);
其结果是:

12345678880000


如何在Java中实现同样的功能?

参考文档,
NumberFormat
具有和,因此:

这给了我

12 345,6788880000 12 345,6788880000
正如所料!万分感谢!:) 12 345,6788880000