Estás usando un campo FLOAT, REAL o similar, que es un tipo de dato de punto flotante, es decir valores decimales
por aproximación.
Para valores monetarios o donde los decimales requieran
precisión, el tipo de dato a usar es DECIMAL.
http://dev.mysql.com/doc/refman/5.7/...int-types.html Cita: 11.2.2 Fixed-Point Types (Exact Value) - DECIMAL, NUMERIC
The DECIMAL and NUMERIC types store exact numeric data values. These types are used when it is important to preserve exact precision, for example with monetary data. In MySQL, NUMERIC is implemented as DECIMAL, so the following remarks about DECIMAL apply equally to NUMERIC.