相关疑难解决方法(0)

3
推荐指数
1
解决办法
1289
查看次数

奇怪的四舍五入问题

当我注意到奇怪的东西时,我只是编写了一些东西:
2/3返回0,这是合乎逻辑的,因为它是0.6666666666666666,它被舍入为0,因为它是一个int.
int(2/3.0)返回相同,因为int(0.6666666666666666)返回0.

now:
-2/3.0返回-0.6666666666666666,这是合乎逻辑的,但是这里出现让我感到困惑的部分,
int(-0.6666666666666666)返回0(因为整数为0).
但是-2/3返回-1 ......
这是为什么?
这不也应该返回0吗?
毕竟int(-0.6666666666666666)返回0,那么为什么-2/3返回-1?


TL; DR:2/3 == 0但是-2/3 != 0?

最好的问候,Sjaak.

python floating-point int rounding python-2.7

2
推荐指数
1
解决办法
76
查看次数