【发布时间】:2015-11-05 13:54:04
【问题描述】:
我正在做一些简单的编程任务,只是为了跟上并理解一些棘手和隐藏的东西。 这是这个程序:
String numbersArray = "1000000001 1000000002 1000000003 1000000004 1000000005";
String[] stringNumbers = numbersArray.split(" ");
double sum = 0;
for (String s : stringNumbers) {
try {
double number = Double.valueOf(s);
sum += number;
} catch (Exception e) {
System.out.println("Unable to cast " + s + " to double!");
}
}
System.out.println(sum);
当我调试 - 在sum+=number; 上放置断点
调试器显示类似
number = 1.000000001E9
当我打印出结果时,它是
5.000000015E9
那么E9 是什么意思,为什么在最后一个数字之前有一个点"."?
【问题讨论】:
-
E9表示科学计数法中的 10^9。所以1.000000001E9是1000000001。 -
E9 表示 10^9(如科学计数法)