31

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

3.30 x 10ˆ23

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

33.0 * Math.pow(10, 23)

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

4

2 回答 2

55

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

3.30e23

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

6.67e−11
于 2013-11-14T17:16:36.343 回答
11

Java 确实支持科学记数法:

3.30e23
于 2013-11-14T17:15:51.887 回答