3

在 Objective-C (Xcode) 和 Python (终端) 中都进行了尝试,并且两次(1/6)*(66.900009-62.852596)都评估为零。有谁知道这是为什么?不应该是 0.26246 吗?

4

3 回答 3

11

您正在对 进行整数运算1/6,而 的下限1/60。试试1.0/6吧。

于 2012-04-29T18:13:54.287 回答
3

1/6是整数除法,变为0。尝试使用1.0/6

于 2012-04-29T18:13:56.830 回答
2

避免使用整数导入进行意外地板除法,请from __future__ import division在模块顶部执行 a:

>>> from __future__ import division
>>> (1/6)*(66.900009-62.852596)
0.6745688333333331

未来模块负责启用将在 Python 3 中默认出现的功能。

于 2012-04-29T22:19:51.603 回答