web-dev-qa-db-ja.com

javaで科学表記法で数字を表現するには?

私は惑星の質量と直径を扱うプログラムを書いています。これらの数量は科学表記法で表されます。私の質問は、大した数字を正しい方法で印刷するのではなく、それがprintf()をどのように印刷するのかではありません。たとえば、水銀の質量は次のように表されます:

3.30 x 10ˆ23

そして、私の惑星質量の配列では、要素は次のようになります。

33.0 * Math.pow(10, 23)

しかし、私はこれが正しい方法だとは思わない-それは例外をスローするように見えます...では、プログラマーの観点からそのような大きな数をどのように表現できますか?ありがとう!

22
OrangeCalx01

JLSのセクション3.10.2 Javaの浮動小数点リテラルについて説明しています。つまり、小数部を科学表記法のように指定しますが、_x 10^23_の代わりに_e23_を記述します。

_3.30e23
_

負の指数を持つものを書くには、6.67 x 10^(-11)に対しても簡単にできます:

_6.67e−11
_
33
rgettman

Javaは科学表記法をサポートします:

3.30e23
9
SLaks