Ich habe ein seltsames Rundungsproblem. HierRundungsfehler in Mysql 5.5 +?
ist das Setup (MySQL5.5 Percona; gleiche in 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;
nun in jedem der drei Felder "1.785" eingeben.
nun diese Abfrage ausführen:
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
Wenn Sie auf eine Dezimalstelle runden:
jemand bitte erklären dieses Verhalten ...
Es ist nur korrekt mit dem Feld DECIMAL, auch mit nur 3 Dezimalstellen.