使用DecimalFormat格式化双精度数

时间:2017-04-12 16:26:21

标签: java formatting

我正在尝试使用DecimalFormat类格式化双精度数。

我希望这是基于Locale的打印。

代码:

DecimalFormat df = new DecimalFormat("#####,###,###.00");
String result = df.format(99999999999.99);
System.out.println(result);

实际输出:

99,999,999,999.99

预期输出:

99999,999,999.99

2 个答案:

答案 0 :(得分:2)

这不受支持,您可以在javadocs中阅读此内容。

  

分组分隔符通常用于数千个,但在某些情况下   它分隔万个国家。分组大小是一个常数   分组字符之间的位数,例如3表示   10,000,000或4为1,0000,0000。如果您提供模式   多个分组字符,最后一个和之间的间隔   整数的结尾是使用的那个。所以"#,##,###,####" ==   " ######,####" ==" ##,####,####"。

答案 1 :(得分:0)

你好发现Shankar Bro, 请参考以下链接,并尝试使用String Interpolation And Replacement。

http://tutorials.jenkov.com/java-internationalization/decimalformat.html