web-dev-qa-db-fra.com

Comment exprimer des nombres en notation scientifique en Java?

J'écris un programme qui traite de la masse et du diamètre des planètes; Ces quantités sont exprimées en notation scientifique. Ma question n'est PAS, attention, PAS comment on imprime les grands nombres de la bonne façon (c'est en utilisant printf (), duh), c'est comment je ... "taper" ces nombres, je suppose que vous pourriez dire. Par exemple, la masse de mercure est exprimée:

3.30 x 10ˆ23

Et dans mon éventail de masses planétaires, un élément ressemblerait:

33.0 * Math.pow(10, 23)

Cependant, je ne pense pas que ce soit la bonne façon - il semble que cela lèverait une exception ... Alors, comment pourrais-je exprimer de grands nombres comme ça du point de vue d'un programmeur? Merci!

22
OrangeCalx01

Section 3.10.2 du JLS parle de littéraux à virgule flottante en Java. En bref, fournissez la partie décimale comme s'il s'agissait d'une notation scientifique, mais au lieu de x 10^23, Vous écririez e23:

3.30e23

Pour en écrire un avec un exposant négatif, vous pouvez le faire facilement aussi pour 6.67 x 10^(-11):

6.67e−11
33
rgettman

Java prend en charge la notation scientifique:

3.30e23
9
SLaks