FAQ: 在python中两整数相除,为什么返回结果是整数而不是实数?

文章编号 : 38036
软件: ArcGIS - ArcEditor 9.3.1, 10 ArcGIS - ArcInfo 9.3.1, 10 ArcGIS - ArcView 9.3.1, 10
操作系统: N/A
已邀请:

易智瑞技术支持

赞同来自:

问题: 在python中两整数相除,为什么返回结果是整数而不是实数?
回答: 在python中,两个整数相除结果是整数,例如:


1.0 / 2.0 --> 0.5

1.0 / 2 --> 0.5

1 / 2.0 --> 0.5

1 / 2 --> 0

从上可知,操作数当中至少有一个是实数时,返回结果是实数。
在未来的Python版本中,除法会总是得到实数的结果,为了强制使用整数除法,使用操作符“//”。在当前版本中使用这种行为可以通过如下方法:


from __future__ import division

结果表现为:


1 / 2 --> 0.5

4 / 2 --> 2.0

1 // 2 --> 0

4 // 2 --> 2

上述方法适用于ArcMap中的Python窗口、字段计算器、GP工具中的Calculate Field工具(当选择python时)和其他任何python IDE中,如PythonWin和IDLE。




创建时间:2010-07-20
最近更新: 2010-08-20


原文链接
http://support.esrichina.com.c ... .html

要回复问题请先登录注册