答案 0 :(得分:2)
FLOAT
值是近似值:
FLOAT
和DOUBLE
类型代表近似数值数据值。
如果您需要任意精确度,可以使用DECIMAL
列,例如DECIMAL(25, 20)
。在这种情况下,您将获得小数点前5位数和后10位数。
答案 1 :(得分:0)
MySQL允许非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,(M,D)表示可以存储的值总共最多为M位,其中D位可以在小数点之后。例如,定义为FLOAT(7,4)的列在显示时将显示为-999.9999。 MySQL在存储值时执行舍入,因此如果将999.00009插入FLOAT(7,4)列,则近似结果为999.0001。 见这里:https://dev.mysql.com/doc/refman/5.7/en/floating-point-types.html, http://code.rohitink.com/2013/06/12/mysql-integer-float-decimal-data-types-differences/