Умножение двойных значений, приводящее к неожиданному поведению? - PullRequest
0 голосов
/ 01 июня 2018

Я писал тестовые случаи, в которых видел следующее поведение.Если кто-то может описать это в терминах непрофессионала.Добавление тега IEEE 754.

70D * 1.1 = 77,0 50D * 1.1 = 55,00000000000001?

1 Ответ

0 голосов
/ 01 июня 2018

Двойное значение имеет точность точности , вы можете использовать java.math.BigDecimal, чтобы получить точный результат:

System.out.println(new BigDecimal("50").multiply(new BigDecimal("1.1"))); // 55.00
...