Realtor 47 Жалоба Опубликовано: June 19, 2017 произвожу вычисления 310560000/64.7=4800000 а на сайте при таких же действиях выдает 4852500 Будьте добры подскажите куда и где копать? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: June 19, 2017 Тут дело не в точности скорее. Подозреваю, что 64.7 передается как 64,7 . Так как запятая применима разделителем целой и дробной частей только в рукописном тексте, то это число для математический операций приводится к числовому виду в 64. Отсюда и отличный от ожидаемого результат. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: June 19, 2017 11 минуту назад, abushyk сказал: что 64.7 передается как 64,7 Тут будет иметь смысл на такие, заведомо числовые поля поставить параметр rules. Например для тех, что могут быть дробными, поставить rules в виду Type:decimal Для тех, что могут быть только целыми Type: int Это не даст людям вводить шопопало, что они обычно и делают. Type:decimal будет заворачивать все неподходящие по формату значения, а если то-то задаст вместо точки запятую, то заменит ее на точку. Это будет входная проверка. Не лишним будет прогнать базу по таким полям, что бы привести ее к "математическому" виду. Плюс, можно в саму логику расчета добавить приведение числа к нормальному виду, если не делали прогонку самой базы. ПС. Установку rules следует использовать. по моему опыту ересью в числовых значениях грешат не только люди, но и довольно крупные фирмы. часто с выгрузок я засасывал в "числовых" полях значения вплоть до "сто квадратных метров" (что совершенно неделибельно) )))) 1 Realtor reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах