gpt4 book ai didi

python - 函数 int() 向负无穷大(下限)或零舍入?

转载 作者:太空狗 更新时间:2023-10-30 01:15:24 30 4
gpt4 key购买 nike

我看到 Why is -1/2 evaluated to 0 in C++, but -1 in Python?表示在 Python 中整数除法向无穷大舍入,即 floor 应用于结果。

我认为 int(value) 也会做类似 floor 的事情,而我得到 int(-1.5) == -1练习,在我看来应该是-2

那么问题来了:为什么整数除法和函数int()之间的规则不一致?有什么合理的解释吗?

最佳答案

int() 去除小数部分;它不做任何舍入。来自documentation :

If x is floating point, the conversion truncates towards zero.

float 转换为 int 这完全是合乎逻辑的行为。这不是部门、地板或其他。

// 楼层除法运算符显然楼层,而不是截断。在 Python 2 中,对于两个整数操作数,/ 分隔符也是 floors。 documentation再次:

the result is that of mathematical division with the ‘floor’ function applied to the result

哪里math.floor()记录为:

Return the floor of x as a float, the largest integer value less than or equal to x.

我看不出这里有什么矛盾;分区楼层,将 float 转换为整数截断。

关于python - 函数 int() 向负无穷大(下限)或零舍入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100850/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com