Научная нотация на Java - PullRequest
       9

Научная нотация на Java

0 голосов
/ 09 декабря 2018
    System.out.println(Math.pow(10 , -10));

Я написал эту строку, и вывод должен быть 10.0E-10 , верно?Но вместо этого он показывает 1.0E-10 .Что может быть причиной этого?

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

10.0E-10

означает

10.0 x 10 -10

Но

Math.pow(10 , -10)

означает

10 -10

Если вы хотите удобный способ работы с 10.0E-10 , попробуйте

System.out.println(new BigDecimal("10.0E-10"));

Выход: 1.00E-9

или

System.out.println(Double.valueOf("10.0E-10"));

Выход: 1.0E-9

Что лучше, зависит от того, какое соображение для вас важнее.Соответственно: точное соответствие хранилища презентации в базе 10 или производительности.

0 голосов
/ 09 декабря 2018

Обозначение xey означает x * 10 ^ y.

Math.pow(10 , -10) означает 10, возведенное в степень -10, или 10 ^ -10.Это равно 1 * 10 ^ -10, что выражено в обозначении xey, равно 1e-10.

...