如何正确使用DecimalFormat模式

时间:2013-06-07 16:28:35

标签: java localization decimalformat

我已经检查了这个oracle tutorial并且它说这是模式语法:

pattern:= subpattern {; subpattern} //花括号之间的子模式是否为负数;

所以我尝试了以下代码,但是当我尝试格式化负数时,我实际上得到了使用第一个子模式格式化的正数。

   NumberFormat nf = NumberFormat.getInstance(Locale.forLanguageTag("us-US-u-ca-buddhist"));
        DecimalFormat dcfCasted = (DecimalFormat)nf;
        dcfCasted.applyPattern("$000,000.000;000.000");
        System.out.println(dcfCasted.format(-200000.100));

我了解我们 - 美国这是标准,只是想看看它是如何运作的。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

作为API的定义,

  

正面子模式前缀为局部减号(' - 'in   大多数区域设置)用作负子模式。

所以让你像这样编码:

dcfCasted.applyPattern("$000,000.000;-000.000");