Reference link: MySQL float accuracy and range summary
1, single-precision floating point number with 4 bytes (32bit) for floating-point numbers, using the IEEE754 standard computer floating-point number, in the interior is expressed in binary
such as: 7.22 with 32-bit binary is not to be represented.
So it's not accurate.
2, MySQL in order to ensure maximum possible portability, the code that needs to be stored with an approximate numeric data value should use a float or double PRECISION, with no precision or number of digits specified.
3. Decimal and numeric types are considered to be the same type in MySQL. They are used to hold values that must be of exact precision, such as currency data.
When declaring columns of this type, you can (and typically will) specify the precision and scale; For example: Salary DECIMAL (5,2)
Programming talk--floating point number