MySQL 浮点型的精度范围与四舍五入
问题描述

问题解答
回答1:因为,你在创建表的时候,指定的 f3 是 float(6,2) ,那这个 6 和 2 是什么意思?6 是数字总位数。2是小数点后只保留2位。所以会显示成 9999.99 即总共 6 个9,小数后是 2 位
回答2:建议使用decimal,尤其是涉及到钱的问题的时候,在mysql中float、double(或real)是浮点数,decimal(或numberic)是定点数。
浮点数相对于定点数的优点是在长度一定的情况下,浮点数能够表示更大的数据范围;它的缺点是会引起精度问题。
在今后关于浮点数和定点数的应用中,大家要记住以下几点:
1、浮点数存在误差问题;
2、对货币等对精度敏感的数据,应该用定点数表示或存储;
3、编程中,如果用到浮点数,要特别注意误差问题,并尽量避免做浮点数比较;
4、要注意浮点数中一些特殊值的处理。可以看看这个http://blog.csdn.net/lingmao5...
回答3:float(m,d) 中,m 代表总位数, d 代表小数点右边的位数
create table example3 ( f1 float, f2 float(5,2), d1 double, d2 double(5,2));insert into example3(f1, f2, d1, d2) values(3.141592657,3.141592657,3.141592657,3.141592657), (3,3,3,3);
显示如下:
f1f2d1d23.141593.143.1415926573.1433.0033.00解释:
不指定 m,d :按照 float 与 double 的范围来取值
指定 m,d : 按照 m,d 的值来取,超过则四舍五入,不超过则补 0
相关文章:
1. css3不包括2. 微信订阅号如何用渠道二维码统计地推效果?3. javascript - 页面加载慢,有什么优化方案4. javascript - 如何将一个长为365的数组对象按月份切割成12组?5. 浅谈Vue static 静态资源路径 和 style问题6. mysql - 仅仅只是把单引号与反斜杠转义不用prepare statement能否避免sql注入?7. vue.js - android环境下在vue中引入vux.js 报错。8. css3 - 扩展本地项目中阿里的iconfont字体库,添加图标字体9. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?10. 百度地图api - Android 百度地图 集成了定位,导航 相互的jar包有冲突?

网公网安备