mysql单精度与双精度,MySQL:float和double有什么区别?
在检查新的数据库结构时,我看到有人将字段从float更改为double。我想知道为什么,我检查了MySQL文档,但老实说,我不知道有什么区别。
有人能解释吗?
注意,"使用float可能会给您带来一些意想不到的问题,因为mysql中的所有计算都是用双精度完成的。"
我猜你的意思是这个链接:dev.mysql.com/doc/refman/5.0/en/problems-with-float.html
这可能更有用:stackoverflow.com/questions/5150274/…
同样相关:dev.mysql.com/doc/refman/5.0/en/no-matching-rows.html上的5点
它们都代表浮点数。FLOAT表示单精度,而DOUBLE表示双精度数。
MySQL使用四个字节作为单精度值,使用八个字节作为双精度值。
与浮点数和十进制(数字)数字有很大的区别,您可以将它们与DECIMAL数据类型一起使用。这用于存储精确的数字数据值,与浮点数不同,在浮点数中,保持精确的精度非常重要,例如货币数据。
好吧,说得通。谢谢!
你能举例说明一下吗
@凯拉斯浮点数是四舍五入的,小数则不是。十进制(9,3)可以是123456.789,但是如果您试图存储123456.789,它将作为一个浮点插入123456.0。
也许这个例子可以解释。
CREATE TABLE `test`(`fla` FLOAT,`flb` FLOAT,`dba`
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
