1

我检查了这个oracle 教程,它说这是模式语法:

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));

我知道我们-美国这是标准,只是想看看它是如何工作的。提前致谢。

4

1 回答 1

3

作为API的定义,

以本地化减号(在大多数语言环境中为“-”)为前缀的正子模式用作负子模式。

所以让你的代码是这样的:

dcfCasted.applyPattern("$000,000.000;-000.000");
于 2013-06-07T16:40:46.963 回答