PHP ошибка расчета чисел float

Рейтинг: 0Ответов: 1Опубликовано: 01.03.2023

объясните пожалуйста почему так и как можно обойти эту проблему:

(-1 * (float)0) === 0) // false

Рассчитываю сумму скидки на сайте, и вот такое произошло при скидке 100%

Ответы

▲ 1Принят

как можно обойти эту проблему

так как по разные стороны сравнения типы данных разные вы можете избежать этого двумя способами 1 использовать неточный тип сравнения

(-1 * (float)0) == 0)

2 сравнивать одинаковые типы данных

(-1 * (float)0) === (float)0