我已经检查了这个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));
我了解我们 - 美国这是标准,只是想看看它是如何运作的。 提前谢谢。
答案 0 :(得分:3)
作为API的定义,
正面子模式前缀为局部减号(' - 'in 大多数区域设置)用作负子模式。
所以让你像这样编码:
dcfCasted.applyPattern("$000,000.000;-000.000");