1 取整的细节差别
- 如果是纯小数,int()+1=ceiling()否则,如果包含整数,就会错误
- 判断是否小数,可以查找 ".",或判断整除等
- round() 可以用于取整,或至少小数位修改精度
- ceiling() 也是可以用于取整,或小数位精度处理
- 就是整数,也可以修饰,整数的结尾的不同尾数,但是round() 和ceiling() 取精确的结果不同,因为一个是向上
小数1 | ||||||
1.1345926 | 1 | 向下取整,int() | INT(D5) | |||
1.1345926 | 2 | 向下取整,int()+1 | INT(D6)+1 | |||
1.1345926 | 1.13 | 四舍五入,可选择是否取整,round() | ROUND(D7,2) | |||
1.1345926 | 2 | 向上取整,需要选择截取基数,ceiling() | CEILING(D8,1) | |||
1.1345926 | 2 | 向上取整,也可以选择不同的精度 | CEILING(D26,1) | |||
1.1345926 | 1.135 | CEILING(D27,0.005) | ||||
1.1345926 | 1.14 | CEILING(D27,0.01) | ||||
小数2 | ||||||
1.7345926 | 1 | INT(D5) | ||||
1.7345926 | 2 | INT(D6)+1 | ||||
1.7345926 | 1.73 | ROUND(D7,2) | ||||
1.7345926 | 2 | CEILING(D8,1) | ||||
如果小数列里包含整数 | ||||||
2 | 2 | INT(D5) | ||||
2 | 3 | INT(D6)+1 | ||||
2 | 2 | ROUND(D7,2) | ||||
2 | 2 | CEILING(D8,1) | ||||
其他用法 | 尾数处理 | |||||
153 | 155 | 5*ROUND(D30/5,0) | 155 | |||
131 | 130 | 135 | ||||
142 | 140 | 145 | ||||
1053 | 1050 | 10*ROUND(D34/10,0) | 1060 | |||
1301 | 1300 | 1310 | ||||
1542 | 1540 | 1550 | ||||
2取整的时机
- 我觉得如果需要对结果去重
- 对中间结果取整没有意义,最多做一些显示上的位数控制,而不用真的用公式去取整。
3 其他用法,整数位尾数的修饰
- 5*ROUND(D30/5,0)
- 10*ROUND(D34/10,0)
- CEILING(D30,5)
- CEILING(D34,10)