【问题标题】:Scientific notation in JavaJava中的科学记数法
【发布时间】:2018-12-09 18:00:32
【问题描述】:
    System.out.println(Math.pow(10 , -10));

我写了这一行,输出应该是 10.0E-10 吧?但相反,它显示 1.0E-10 。这背后的原因可能是什么?

【问题讨论】:

  • 怎么样?你愿意解释一下吗?
  • 1 * 10^-10 是 Java 给你的。
  • @FaizanAhmad 请考虑接受您认为最好的答案。

标签: java scientific-notation


【解决方案1】:

xey 表示 x*10^y。

Math.pow(10 , -10) 表示 10 的 -10 次方,或 10^-10。这等于 1*10^-10,用xey 表示法表示,就是1e-10

【讨论】:

    【解决方案2】:

    10.0E-10

    意思

    10.0 x 10-10

    但是

    Math.pow(10 , -10)
    

    意思

    10-10

    如果您想以方便的方式使用 10.0E-10,请尝试

    System.out.println(new BigDecimal("10.0E-10"));
    

    输出:1.00E-9

    System.out.println(Double.valueOf("10.0E-10"));
    

    输出:1.0E-9

    哪个最好取决于哪个考虑因素对您更重要。分别:忠实地将存储与以 10 为基数的表示或性能匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 2020-12-30
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多