Как выразить числа в научной нотации в java?
Я пишу программу, посвященную массе и диаметру планет; Эти величины выражены в научной нотации. Мой вопрос НЕ, разумеется, НЕ, как печатать большие числа правильным способом (что с помощью printf(), duh), его как я бы... "набирал" эти числа, я думаю, вы могли бы сказать. Например, масса ртути выражается:
3.30 x 10ˆ23
И в моем массиве масс планеты элемент будет выглядеть:
33.0 * Math.pow(10, 23)
Тем не менее, я не совсем думаю, что это правильный путь - похоже, что это вызовет исключение... Итак, как я могу выразить такие большие числа с точки зрения программиста? Спасибо!
Ответы
Ответ 1
Раздел 3.10.2 JLS рассказывает о литералах с плавающей точкой в Java. Короче говоря, укажите десятичную часть, как если бы она была научной нотацией, но вместо x 10^23
вы пишете e23
:
3.30e23
Чтобы записать один с отрицательным показателем, вы также можете легко сделать это для 6.67 x 10^(-11)
:
6.67e−11
Ответ 2
Java поддерживает нотные обозначения:
3.30e23
Ответ 3
Вы можете попробовать инициализировать длинную переменную и попробовать сделать ее как double/float. Это может работать, но я не 100%