NumberFormat.parse返回意外结果

时间:2012-06-24 18:03:02

标签: java parsing number-formatting

我希望以下代码抛出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!");
    }

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

这是预期的结果。

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

java编程规则#1:总是阅读文档!