在Objective-C(Xcode)和Python(终端)中都尝试过,(1/6)*(66.900009-62.852596)
两次计算为零。有谁知道这是为什么?不应该是0.26246吗?
答案 0 :(得分:11)
您正在对1/6
进行整数运算,1/6
的最低值为0
。请改为1.0/6
。
答案 1 :(得分:3)
1/6
是整数除法,变为0.尝试改为使用1.0/6
。
答案 2 :(得分:2)
避免使用整数导入进行意外分区,在模块顶部执行from __future__ import division
:
>>> from __future__ import division
>>> (1/6)*(66.900009-62.852596)
0.6745688333333331
future module负责启用Python 3中默认生效的功能。