Я столкнулся с действительно странной ошибкой? на mysql + php прямо сейчас. ли простой выбор, в следующем примере я использую несколько полей, чтобы попытаться объяснить мою проблему:MySQL круглая странная ошибка
- «поле» является 11,5
- $ phpvar является 1,15
MySQL запросов:
select round(field * " . $phpvar . " ,2) as a1,
round(field * 1.15 ,2) as a2,
round(11.5 * " . $phpvar . " ,2) as a3,
round(11.5 * 1.15 ,2) as a4,
field * " . $phpvar . " as a5
from ...
ОК, я пытаюсь получить 13.23. "field" * $phpvar = 13.225
, поэтому с помощью раунда (13.225,2) я должен получить 13.23, правильно? ну да и нет.
Результаты запроса:
- a1 [круглый (". $ Phpvar" поле *, 2)] => 13,22
- a2 [круглый (поле * 1,15, 2)] => 13,22
- а3 [круглая (11.5 * "$ phpvar.", 2)] => 13.23
- а4 [круглый (11,5 * 1,15, 2)] => 13,23
- а5 [поле * ". $ phpvar. "] => 13.225 (без раунда)
Что мне не хватает? как это возможно, когда дело доходит до использования «поля», мой результат получает подделку?
Как определить поле в базе данных? – Anigel
выберите поле * 1.15 и 11.5 * 1.15 без округления, а также a6 и a7 и опубликуйте результат. – jishi
Просто используйте 'ceil()' вместо этого? – Nick