在Java中无法读取双精度数

时间:2014-03-03 08:30:25

标签: java

我正在使用以下代码:

            String val = scanner.nextLine();
            Scanner line = new Scanner(val);
            System.out.println(val);
            System.out.println(line.nextDouble());

其中输出为:

9.612771780095113E-25 10.0 0.0 0.7660444431190742 1.2679145539688897E-5 0.0 1.0E11
null

其中null是我捕获的异常消息(e.getMessage)。我不明白这是怎么回事?为什么它不能识别此字符串中的双精度值?

1 个答案:

答案 0 :(得分:1)

根据javadoc,Scanner默认使用本地化符号;阅读本地化数字部分。如果您不知道您的语言环境,请调用Locale.getDefault()并检查您的本地化符号,然后将它们用于双打。