Я выбрал два случайных double
числа:
double a = 7918.52;
double b = 5000.00;
Я ожидал бы получить 2918.52
от a - b
.
Ну, это дает мне результат 2918.5200000000004
,что кажется странным.
print(a - b); // -> 2918.5200000000004
Но если я изменю double a
на 7918.54
, я получу ожидаемый результат 2918.54
.
Может кто-нибудь объяснить мне, почему некоторые double
значения приводят к неожиданным проблемам округления, а другие нет?