猿问

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

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

考虑:

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

如何让它返回小数?


慕妹3146593
浏览 487回答 3
3回答

牧羊人nacy

在版本3之前,Python的除法运算符/在表示两个整数参数时表现得像C的除法运算符:它返回一个整数结果,当存在小数部分时,它会被截断。>>> n = 29>>> d = 1009>>> print str(float(n)/d)0.0287413280476在Python 2(可能更早)中,您可以使用:>>> from __future__ import division>>> n/d0.028741328047571853

jeck猫

在Python 2.x中,除法与C语言类似:如果两个参数都是整数,则结果被截断为整数,因此浮点数为0.0时,29/1009为0。要修复它,在分割之前施放到浮子:print str(float(numerator)/denominator)在Python 3.x中,除法行为更自然,因此您将获得正确的数学结果(在浮点错误内)。

湖上湖

在您的评估中,您正在转换结果,您需要转换操作数。
随时随地看视频慕课网APP

相关分类

Python
我要回答