在平时的数据处理中,特别是财务,经常需要对满屏的数据的小数位进行一定的舍入处理。舍入情况很多种,有时可能需要数据的四舍五入,有时可能只舍不入,也有向上舍入或是向下舍入,等等。
怎么对数据进行不同情况的舍入处理?
今天我罗列了几个常用的舍入类函数,分别为:INT函数、TRUNC函数、ROUND函数、ROUNDUP函数、ROUNDDOWN函数、FLOOR函数、CEILING函数。看看这些函数都是怎么处理数据的。
一、INT函数
Int函数是向下取整函数,即将数字向下舍入到最接近的整数,不带有四舍五入。
语法格式:INT(number)
应用实例:
从上图,我们可以看出,
1、int函数对于正数,直接截掉小数取整;
2、int函数对于负数,总是向上进位,即朝远离0的方向的整数取值。
二、TRUNC函数
trunc函数与int函数类似,可以截取整数部分。但trunc函数不同于int函数的是:
1、trunc函数不管是正数,还是负数,都是直接去除数字的小数部分;
2、trunc函数还可以截取保留指定小数位位数的数字。
语法格式:TRUNC(数字,[保留位数])
第二个参数为可选参数,可写可不写。如果省略不写,则默认为0。
应用实例:
三、ROUND函数
Round函数是用来对数值进行四舍五入的函数。
语法格式:ROUND(数字, 保留小数位数);
第二个参数可大于0,也可小于0,也可等于0;
当第二个参数大于0时,表示把数字四舍五入到指定小数位数;
当第二个参数小于0时,表示把数字四舍五入到小数点左边的相应位数;
当第二个参数等于0时,把数字四舍五入到最接近的整数。
应用实例:
说明:当第二个参数为负数,表示把数字四舍五入到小数点左边的相应位数。上图中的Round(A6,-1),表示将A6中的数字108.281从小数点处往左移一位,即到了十分位,由于个位大于5,因此个位向十分位进一,个位变为0,所以返回110。上图中的ROUND(A8,-1),由于个位小于5,因此直接舍去,个数变为0,所以返回250。
四、ROUNDUP函数
Roundup函数主要用于对一个数字向上舍入,它跟四舍五入不一样,不管舍去的首位数字是否大于4,都向前进1。
语法格式:ROUNDUP(数字,[保留位数])
第二个参数同样可大于0,也可小于0,也可等于0;
当第二个参数大于0时,则表示将数字向上舍入到指定的小数位;
当第二个参数小于0时,则在小数点左侧向上进行舍入);
当第二个参数等于0时,则将数字向上舍入到最接近的整数。
应用实例:
五、ROUNDDOWN函数
Rounddown函数正好与roundup函数是相反的,是对数字向下舍入的。
语法格式:ROUNDDOWN(数字,[保留位数]);
第二个参数同样可大于0,也可小于0,也可等于0;
当第二个参数大于0时,则将数字向下舍入到指定的小数位数;
当第二个参数小于0时,则将数字向下舍入到小数点左边的相应位数;
当第二个参数等于0时,则将数字向下舍入到最接近的整数
应用实例:
六、FLOOR函数
Floor函数是将数字向下舍入到最接近的整数或最接近的指定基数的倍数。
语法格式:FLOOR(number,significance);
参数number:表示向下舍入的数值;
参数significance:表示舍入的倍数。
应用实例:
从上图中,可以看到:
1、如果number为正,floor函数会向靠近零的方向舍入;
2、如果number为负,floor函数则会向远离零的方向舍入;
3、如果number为正,significance为负,则 FLOOR 将返回错误值 #NUM!;
4、如果number恰好是significance的整数倍,则不进行舍入。
七、CEILING函数
Celling函数正好与floor函数相反,将数值向上舍入(沿绝对值增大的方向)为最接近的指定基数的倍数。
语法格式:CEILING(number, significance)
参数Number,表示要舍入的值;
参数Significance,表示要舍入到的倍数。
应用实例:
总结:
1、如果 number 和 significance 都为负,则对值按远离 0 的方向进行向下舍入。
2、如果 number 为负,significance 为正,则对值按朝向 0 的方向进行向上舍入。
3、如果 number 正好是 significance 的倍数,则不进行舍入。