皕杰报表里一般在保留小数位时都是按着四舍五入的规则来取舍数据的,比如1.14638保留两位小数是1.15,保留三位小数是1.146。但有时有特殊的需求,比如只想单纯地舍去保留位数后面的数,而不进行四舍五入,这个要怎么实现呢?
在皕杰报表里有一个专门的函数来处理这个需求,这个函数就是floor,函数说明如下:
floor
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:对数据在指定位置上进行截取,剩余部分只要有值全舍去
语法:floor(numberExp{, nExp})
参数说明:
numberExp 需要进行截取的数据
nExp 整数,用于指定需要进行截取的位置, 大于0从小数点往右位移nExp个位数,小于0从小数点往左移nExp个位数 ,等于0表示当前小数点的位置;该参数为可选参数 ,默认值为零。
举例说明:
1.例1:floor(123.456,2),结果为:123.45。
2.例2:floor(123.456,4),结果为:123.4560。
3.例3:floor(123.456,0),结果为:123。
4.例4:floor(123.456,-1),结果为:120。
5.例5:floor(123.456),结果为:123。
那么抛开皕杰报表里的函数,能不能自己想别的办法来实现这个需求呢?我想应该是可以实现的,可以通过在保留位的后一位数减去5的方法,实现虽说是四舍五入但相当于直接舍去。
举个例子,1.14638保留2位不四舍五入,我们把第三位小数减去5,即减去0.005,值为1.14138,保留两位并四舍五入就是1.14,后一位大于5也没有进位。保留三位,则减去0.0005,值为1.14588,保留三位并四舍五入就是1.146,相当于把第四位舍去了。
皕杰报表如何在保留小数位时不四舍五入
![](https://img-home.csdnimg.cn/images/20240711042549.png)