MySQL 不四舍五入取整、取小数、四舍五入取整、取小数、向下、向上取整
总结了MySQL中取整和取小数中遇到的问题和解决的几个方法:不四舍五入取整、取小数、四舍五入取整、取小数、向下、向上取整。
·
总结了MySQL中取整和取小数中遇到的问题和解决的几个方法:不四舍五入取整、取小数、四舍五入取整、取小数、向下、向上取整。
其中:
不四舍五入取整(截取整数部分)就是‘向下取整’;
除了用truncate函数来不四舍五入取小数,我们还可以通过变换的方法利用向下取整得到。
先把需要的小数部分换算成整数,使用向下取整后再换算成小数。
具体方法
类型 | 类别 | 函数名 | 描述 |
---|---|---|---|
取整 | |||
向下 | |||
floor(expr) | 返回小于expr的最大整数 | ||
向上 | |||
ceil(expr) | 返回大于expr的最小整数 | ||
ceiling(expr) | 返回大于expr的最小整数 | ||
四舍五入 | |||
round(expr) | 四舍五入取整,后面没有num默认取整 | ||
round(expr,num) | 四舍五入取整,num为0表示取整 | ||
不四舍五入 | |||
truncate(expr,num) | 不四舍五入取整,num为0表示取整 | ||
取小数 | |||
四舍五入 | |||
round(expr,num) | 四舍五入取小数,num指取几位小数 | ||
不四舍五入 | |||
truncate(expr,num) | 不四舍五入取小数,num指取几位小数 | ||
round(floor(expr*temp)/temp,num) | 其中temp=10^num,num指取几位小数 | ||
了解其他数学函数前往:MySQL math函数
实例
select
floor(52.45), #52
floor(52.54), #52
ceil(52.4), #53
ceiling(52.5), #53
round(52.45), #52
round(52.45, 0), #52
round(52.54, 0), #53
truncate(52.45,0), #52
truncate(52.55,0), #52
round(52.45, 1), #52.5
round(52.54, 1), #52.5
truncate(52.45,1), #52.4
truncate(52.54,1), #52.5
round(floor(52.45*10)/10,1), #52.4
round(floor(52.54*10)/10,1) #52.5
#输出:52|52|53|53|52|52|53|52|52|52.5|52.5|52.4|52.5|52.4|52.5
更多推荐
已为社区贡献1条内容
所有评论(0)