NumberFormat.parse 返回意外结果
Posted
技术标签:
【中文标题】NumberFormat.parse 返回意外结果【英文标题】:NumberFormat.parse is returning unexpected result 【发布时间】: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!");
【问题讨论】:
【参考方案1】:这是因为NumberFormat.parse(String)
可能不会使用整个文本进行解析。见here。
【讨论】:
【参考方案2】:这是预期的结果。
根据documentation,NumberFormat.parse 不一定使用整个字符串。
Java 编程规则 #1:始终阅读文档!
【讨论】:
以上是关于NumberFormat.parse 返回意外结果的主要内容,如果未能解决你的问题,请参考以下文章