python – 函数int()向负无穷大(floor)舍入或为零?
我看到Why is -1/2 evaluated to 0 in C++,but -1 in Python?在Python中表示整数除法向无穷大舍入,即地板应用于结果. 我认为int(value)也会做类似floor的事情,而我在实践中得到int(-1.5)== -1,在我的脑海中预计为-2. 所以问题是:为什么整数除法和函数int()之间的规则不一致?有没有合理的解释? 最佳答案
int()删除小数部分;它没有做任何舍入.从documentation:
为了将浮点数转换为int,这完全是逻辑行为.这不是分区,地板或其他. //楼层划分运算符否则清楚地做楼层,而不是截断.在Python 2中,对于两个整数操作数,/ division也是floor. documentation再次:
其中
我觉得这里没有矛盾;划分楼层,将浮点数转换为整数截断. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |