[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: if и числа с плавающей точкой
shamcor
Всем привет, наткнулся на такое. в БД таблица содержит float значения, отнимаем значение и пишем вместо него результат, далее проверяем отнялось ли:

...
print $mynew["num"] .' == '. $myold["num"] .' - '.$value.'<br>';
if ($mynew["num"] == $myold["num"] - $value) {
print "Ok";
} else {
print "Ne ok";
}


в результате: 5260.05 == 5260.05
Ne ok
если по нажимать f5 в браузере, то иногда проходит, а иногда нет. Что я уже не дочитал?
Valick
shamcor, тема не раскрыта.
Куда отнимаете, что проверяете, зачем не доверяете.... нипанятна


_____________
Стимулятор ~yoomoney - 41001303250491
shamcor
есть таблица с именами, у каждого есть счет, хочу перекинуть с одного человека на левого 10 рублей, отличный пример
выбираю финансы у 1 и у второго,
у одного минусую, у второго плюсую
хочу сделать проверку снялись ли деньги у 1 и прибавились ли у второго.
счет с копейками
AllesKlar
числа float не сравнивают ==
их сравнивают "большье / меньше" относительно допустимой погрешности

Ну и для скуля почитать Problems with Floating-Point Values

_____________
[продано копирайтерам]
shamcor
а, ок, спс
AlmazDelDiablo
оффтоп
Почему-то был уверен, что в PHP оператор == для float перегружен с апроксимированием значений. Спасибо за информацию.


_____________
Блог | VK | GitHub | Twitch
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.