总结了MySQL中不四舍五入取整(截取整数部分)、四舍五入取整、向下取整、向上取整、四舍五入取小数、不四舍五入取小数的几种方法。
其中:
不四舍五入取整(截取整数部分)就是‘向下取整’;
除了用truncate函数来不四舍五入取小数,我们还可以通过变换的方法利用向下取整得到。
先把需要的小数部分换算成整数,使用向下取整后再换算成小数。
具体方法
类型 | 表达式 | 举例 | 结果 |
---|---|---|---|
四舍五入取整 | round(expr)。后面没有number默认四舍五入取整 | round(52.45) | 52 |
四舍五入取整 | round(expr,0)。number指取几位小数 | round(52.45, 0) | 52 |
四舍五入取整 | round(expr,0)。number指取几位小数 | round(52.54, 0) | 53 |
四舍五入取一位小数 | round(expr,number)。number指取几位小数 | round(52.45, 1) | 52.5 |
四舍五入取一位小数 | round(expr,number)。number指取几位小数 | round(52.54, 1) | 52.5 |
不四舍五入取整(截取)、向下取整 | floor(expr)。默认没有number参数,只能取整,不能取几位小数 | floor(52.45) | 52 |
不四舍五入取整(截取)、向下取整 | floor(expr)。默认没有number参数,只能取整,不能取几位小数 | floor(52.54) | 52 |
向上取整 | ceiling(expr)。默认没有number参数,只能取整,不能取几位小数 | ceiling(52.45) | 53 |
向上取整 | ceiling(expr)。默认没有number参数,只能取整,不能取几位小数 | ceiling(52.54) | 53 |
不四舍五入取一位小数 | truncate(expr,number)。number指取几位小数 | truncate(52.45,1) | 52.4 |
不四舍五入取一位小数 | truncate(expr,number)。number指取几位小数 | truncate(52.54,1) | 52.5 |
不四舍五入取一位小数 | round(floor(expr*temp)/temp,number)。其中temp=10^number,number指取几位小数 | round(floor(52.45*10)/10,1) | 52.4 |
不四舍五入取一位小数 | round(floor(expr*temp)/temp,number)。其中temp=10^number,number指取几位小数 | round(floor(52.54*10)/10,1) | 52.5 |
验证代码
select
round(52.45) as round1,
round(52.45, 0) as round2,
round(52.54, 0) as round3,
round(52.45, 1) as round4,
round(52.54, 1) as round5,
floor(52.45) as floor1,
floor(52.54) as floor2,
ceiling(52.4) as ceiling1,
ceiling(52.5) as ceiling2,
truncate(52.45,1) as truncate1,
truncate(52.54,1) as truncate2,
round(floor(52.45*10)/10,1) as floor11,
round(floor(52.54*10)/10,1) as floor21
#输出:52|52|53|52.5|52.5|52|52|53|53|52.4|52.5|52.4|52.5
标签:四舍五入,number,round,取整,52.45,小数
From: https://www.cnblogs.com/chengyj/p/16829830.html