Как выразить числа в научной нотации в java?

Я пишу программу, которая имеет дело с массой и диаметром планет; Эти величины выражены в научной нотации. Мой вопрос НЕ в том, заметьте, НЕ в том, как правильно печатать большие числа (это с помощью printf(), да), а в том, как бы я... "напечатал" эти числа, я думаю, вы могли бы сказать. Например, масса ртути выражается:

3.30 x 10ˆ23

И в моем массиве масс планет элемент будет выглядеть так:

33.0 * Math.pow(10, 23)

Тем не менее, я не совсем думаю, что это правильный путь - похоже, что это вызовет исключение... Итак, как я мог бы так выражать большие числа с точки зрения программиста? Спасибо!


person OrangeCalx01    schedule 14.11.2013    source источник
comment
Я считаю, что эта ветка отвечает на тот же вопрос: stackoverflow.com/questions/2944822/   -  person DerStrom8    schedule 14.11.2013
comment
Я думаю, что это не тот же вопрос (НЕ как правильно печатать большие числа), реальный вопрос заключается в том, как представить научную нотацию в исходном коде.   -  person Rafael Membrives    schedule 28.04.2021


Ответы (2)


раздел 3.10.2 JLS. о литералах с плавающей запятой в Java. Короче говоря, предоставьте десятичную часть, как если бы это была научная запись, но вместо x 10^23 вы должны написать e23:

3.30e23

Чтобы написать один с отрицательным показателем, вы можете легко сделать это и для 6.67 x 10^(-11):

6.67e−11
person rgettman    schedule 14.11.2013

Java поддерживает научную нотацию:

3.30e23
person SLaks    schedule 14.11.2013