【问题标题】:How to use the DecimalFormat pattern properly如何正确使用 DecimalFormat 模式
【发布时间】:2013-06-07 16:28:35
【问题描述】:

我检查了这个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));

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

【问题讨论】:

  • 你能给出这个sn-p代码的预期输出和实际输出吗?

标签: java localization decimalformat


【解决方案1】:

正如API的定义,

以本地化减号为前缀的正子模式('-' in 大多数语言环境)被用作否定子模式。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 2011-06-23
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多