У меня возникла странная проблема округления.Ошибка округления в Mysql 5.5+?
Вот установка (MySQL5.5 Percona, то же самое в Mysql 5.7 CE):
CREATE TABLE `roundingtest` (
`RT_Double` DOUBLE NULL DEFAULT NULL,
`RT_Float` FLOAT NULL DEFAULT NULL,
`RT_Decimal` DECIMAL(10,3) NULL DEFAULT NULL
)
ENGINE=InnoDB;
Теперь введите в каждом из 3-х полей "1.785".
Теперь выполнить этот запрос:
SELECT
1.785, ROUND(1.785, 2),
RT_Double, ROUND(RT_Double, 2),
RT_Float, ROUND(RT_Float, 2),
RT_Decimal, ROUND(RT_Decimal, 2)
FROM roundingtest
Если округлить до одного десятичного знака:
кто-то пожалуйста объяснить такое поведение ...
Это верно только в поле DECIMAL, даже с тремя знаками после запятой.