@sunnyrio

Как сделать чтобы вместо -8.5265128291212E-14 выводился 0?

После выполнения кода:
$_SESSION['total']['price'] -= $_SESSION['bag'][$product_id]['price'] * $_SESSION['bag'][$product_id]['count'];

Где ожидается что значение у переменной $_SESSION['total']['price'] будет равная 0,
принимает значение -8.5265128291212E-14 как это исправить на 0?
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
Добро пожаловать в реальный мир, где существуют ошибки округления)
Не хранить цены в типах данных с плавающей точкой, используйте типы данных с фиксированной.
Ответ написан
Комментировать
KorniloFF
@KorniloFF
Работаю по font-end / JS
$_SESSION['total']['price'] = $_SESSION['total']['price'] < 1e-5 ? 0 : $_SESSION['total']['price'];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы