为何math.ceil对数值x与int(x)处理结果不同?
关于math.ceil函数的疑问解答
结果不同的原因
int(12.6)的作用是截断小数部分,直接丢弃小数点后的内容,把12.6转换成整数12,这不是四舍五入操作。math.ceil()的作用是向上取整,返回大于等于输入值的最小整数。直接传入12.6时,大于等于12.6的最小整数是13;但先通过int()把12.6转成12后,再传给math.ceil()的输入就是整数12,返回结果自然还是12。
正确使用math.ceil的方式
- 若要对浮点数执行向上取整操作,直接把浮点数传入
math.ceil()即可,完全不需要先转成int类型。 - 只有当你明确需要截断小数部分(不管小数位数值是多少,只保留整数部分)时,才需要用
int()转换浮点数。
内容的提问来源于stack exchange,提问作者L L
相关产品推荐
相关产品推荐

