PHP Двойное сравнение

Версия PHP 7.1.7 / Laravel 5.4

dump($this_tour->payments_to_operator_sum());

1012,0

dump(gettype($this_tour->payments_to_operator_sum()));

«Двойной»

dump($this_tour->operator_price, gettype($this_tour->operator_price));

«1012.00», «строка»

dump((double)$this_tour->operator_price, gettype((double)$this_tour->opeartor_price);

1012,0, «двойной»

dump($this_tour->payments_to_operator_sum() == (double)$this_tour->operator_price);

ложный

Почему это может быть ложным?

Я сбит с толку.

PS. Я понимаю разницу между «==» и «===», думаю, это не имеет к этому никакого отношения.
Когда я делаю:

dump((double)1012.0 == (double)"1012.00");

я получил

правда

-1

Решение

когда я сделал:

return $this_tour->payments_to_operator_sum()

(вместо ‘dump’) я получил:

+1011,9999999999999

так что это ответ, я думаю.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]