【问题标题】:What does E9 at the end of casted string to double value means ? [duplicate]将字符串转换为双倍值末尾的 E9 是什么意思? [复制]
【发布时间】: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 是什么意思,为什么在最后一个数字之前有一个点"."

【问题讨论】:

标签: java numbers double


【解决方案1】:

That(5.000000015E9) 是写数字的scientific notation。所以 E9 是 10^9。

【讨论】:

    【解决方案2】:

    E 是表示power 的数字的科学记数法,数字后跟 e 是该数字的实际幂。查看文档here

    如果m小于10次方-3或大于等于10次方7,则为 以所谓的“计算机科学记数法”表示。让 n 为 满足 10n ≤ m

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多