@alexzpua

Неверный расчет PHP. Как такое возможно?

Приветствую.
if($userPrice > 0)
  {
      $totalItems = ($userPrice/$price);
      var_dump($totalItems);
      var_dump($userPrice);
      var_dump($price);
      
      if($totalItems >= 1000){
          echo 'Bonus activated!';
      }
  }

Смотрю в JS консоль, а там:
float(1000)
string(2) "34"
string(5) "0.034"
Причем в некоторых случаях срабатывает, когда цена другая, но кол-во предметов та же 1000(тясяча). float(1000)
Как?!!!!
  • Вопрос задан
  • 257 просмотров
Решения вопроса 1
GavriKos
@GavriKos
if($totalItems >= 1000) пробовали менять на if($totalItems >= 1000.0) ?

Или даже лучше разницу флоатов проверить, и с погрешностью сравнить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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