【问题标题】:NumberFormat.parse is returning unexpected resultNumberFormat.parse 返回意外结果
【发布时间】:2012-06-24 18:03:02
【问题描述】:

我希望下面的代码会抛出 ParseException,但它是“2”,任何人都可以解释这一点,或者这是 java 实现中的错误吗?我在最新的 Oracle (1.7.0_05) 和 osx jvms 上运行它。

    try {
        NumberFormat format = NumberFormat.getInstance(Locale.US);
        Number number = format.parse("2 3");
        System.out.println(number);
    } catch (ParseException e) {
        System.out.println("2 3 is not a valid number!");
    }

【问题讨论】:

    标签: java parsing number-formatting


    【解决方案1】:

    这是因为NumberFormat.parse(String) 可能不会使用整个文本进行解析。见here

    【讨论】:

      【解决方案2】:

      这是预期的结果。

      根据documentation,NumberFormat.parse 不一定使用整个字符串。

      Java 编程规则 #1:始终阅读文档!

      【讨论】:

        猜你喜欢
        • 2017-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-10
        • 2016-02-24
        相关资源
        最近更新 更多