当前位置:  开发笔记 > 编程语言 > 正文

为什么这个部门在Python中不起作用?

如何解决《为什么这个部门在Python中不起作用?》经验,为你挑选了2个好方法。

考虑:

>>> numerator = 29
>>> denom = 1009
>>> print str(float(numerator/denom))
0.0

如何让它返回小数?



1> miku..:

在版本3之前,Python的除法运算符/在表示两个整数参数时表现得像C的除法运算符:它返回一个整数结果,当存在小数部分时,它会被截断.见:PEP 238

>>> n = 29
>>> d = 1009
>>> print str(float(n)/d)
0.0287413280476

在Python 2(可能更早)中,您可以使用:

>>> from __future__ import division
>>> n/d
0.028741328047571853



2> Adam Rosenfi..:

在Python 2.x中,除法与C语言类似:如果两个参数都是整数,则结果被截断为整数,因此浮点数为0.0时,29/1009为0.要修复它,在分割之前施放到浮子:

print str(float(numerator)/denominator)

在Python 3.x中,除法行为更自然,因此您将获得正确的数学结果(在浮点错误内).

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有