DecimalFormat.applyPattern("#.##0,00") 抛出异常

Dav*_*len 4 java decimalformat

对于代码:

DecimalFormat df = (DecimalFormat) NumberFormat.getNumberInstance(locale);
df.applyPattern("#.##0,00");
Run Code Online (Sandbox Code Playgroud)

它抛出一个 IllegalArgumentException 并带有格式错误的模式“#.##0,00”的消息

这有什么问题?

编辑:我想使用 . 作为千位分隔符和 , 作为小数点。我知道这是倒退,但有一个案例,那就是他们想要的格式。

joh*_*384 9

您需要使用模式“#,##0.##”来指示小数点分隔符和千位分隔符的位置。在Locale您使用本时使用DecimalFormat,然后将确定小数点分隔符是一个.,模式不应该被改变- 。

如果您没有得到正确的分隔符,则需要使用不同的Locale.

  • 他们为什么不选择“!”和“|”来明确它们不是逗号或点的表示,而是小数点和分组分隔符。现在看起来你被迫使用美国标准并给它一个区域设置来适应它。我以为我可以跳过本地化部分...... (2认同)