我有一个具有默认float数据类型的列。
现在,当我插入诸如12345678之类的数字时,该值在该列中存储为12345700。
这与精确度有关吗?
有人能给我解释一下这是怎么回事吗?
发布于 2020-06-12 17:34:54
是的,这是因为精确度。float数据类型的精度最多为7位有效数字。这不仅仅是特定于MySQL的,它适用于所有强类型编程语言和大多数用这些语言编写的软件。
发布于 2020-06-12 16:21:22
默认情况下,FLOAT存储为4字节的单精度值。它有24位有效数据。
如果您希望更大的数字使用DOUBLE (以8字节存储)或更好,请使用DECIMAL。
https://stackoverflow.com/questions/62339769
复制相似问题