扫码关注官方订阅号
之前用mysql的时候发现如果存入一个浮点数,比如说 4.5,存进去再读出来就变成了类似”4.499999999999987“这样的的数字现在用mongoDB,发现存进去4.5,读出来还是4.5,这么说我可以相信这种情况是一定存在的吗?还是说并不保证我存进去的数和读出来的数是一样的
认证高级PHP讲师
mongodb 所采用的 bson 中 double 的是 64-bit 的,因为采用了 IEEE 754-2008 标准,所有实际效果会比一般程序的浮点数计算效果要好,不过因为精度仍然是有限的,所有仍然不要相信这个浮点数是可信的。不过你可以得到保障的是,你存进去的数读出来还是一样的,但是你要注意的是,存进去的时候,可能就已经和你原来想要的值出现了偏差。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
mongodb 所采用的 bson 中 double 的是 64-bit 的,因为采用了 IEEE 754-2008 标准,所有实际效果会比一般程序的浮点数计算效果要好,不过因为精度仍然是有限的,所有仍然不要相信这个浮点数是可信的。
不过你可以得到保障的是,你存进去的数读出来还是一样的,但是你要注意的是,存进去的时候,可能就已经和你原来想要的值出现了偏差。