Python 2 位小数点

Python 2 decimals Points

我有一个关于 Python 2 中小数点的快速问题。 这是 Python 2 中的代码:

a = 1500/1589
print (round(a,2))
#0.0

我认为它会打印出 a = 0.94,就像它在 Python 中所做的那样 3. 我只是想知道我的答案如何得到 2 位小数。

您需要通过添加明确的小数点来指定除法的至少一个输入是浮点数。

a = 1500. / 1589
print round(a, 2)
# 0.94

如果不这样做,15001589都被视为整数,1500/1589的结果需要是整数(0)还有

1500 / 1589
# 0

print round(1500 / 1589, 2)
# 0.0

附带说明一下,如果要打印带两位小数的数字,更简单的方法是创建格式化字符串:

print '%0.2f' % (1500. / 1589)
# 0.94

print '{:.2}'.format(1500. / 1589)
# 0.94

那是因为您正在进行整数除法。例如:

a = 1500.0/1589.0
print round(a,2)

或者如果您有整数作为输入:

a = float(1500)/float(1589)
print round(a,2)