我在MysqL中创建了一个带有float(2,2)类型的列,并将值10插入到同一个表中,但是我发现存储的值为0.99。
这是什么原因?如果我们在MysqL中使用一个类型为float(m,n)的列,其中’m’和’n’是整数,那么当在这个列中存储值时应该注意什么?
解决方法
float(2,2)
表示“使用两位数字,其中两位使用小数点后”。
因此,你可以从-0.99到0.99。您不能在此列中插入10,您需要在逗号之前至少两位数(因此float(4,2)或float(2,0))。
MysqL permits a nonstandard Syntax: FLOAT(M,D) or REAL(M,D) or DOUBLE PRECISION(M,D). Here,“(M,D)” means than values can be stored with up to M digits in total,of which D digits may be after the decimal point. For example,a column defined as FLOAT(7,4) will look like -999.9999 when displayed. MysqL performs rounding when storing values,so if you insert 999.00009 into a FLOAT(7,4) column,the approximate result is 999.0001.