如何用java的科学记数法表示数字?

我正在编写一个处理行星质量和直径的程序;这些量以科学记数法表示。我的问题不是,请注意,不是如何以正确的方式打印大数字(这是使用printf(),duh),而是我如何...“键入”这些数字,我想你可以说。例如,汞的质量表示为:

3.30 x 10ˆ23

在我的行星质量阵列中,一个元素看起来是:

33.0 * Math.pow(10, 23)

但是,我不太认为这是正确的方法 - 看起来它会引发异常......那么,从程序员的角度来看,我怎么能这样表达大数字呢?谢谢!


答案 1

JLS 的第 3.10.2 节讨论了 Java 中的浮点文字。简而言之,提供小数部分,就好像它是科学记数法一样,但你会写:x 10^23e23

3.30e23

要写一个带有负指数的,你也可以很容易地做到这一点:6.67 x 10^(-11)

6.67e−11

答案 2

Java确实支持科学记数法:

3.30e23