Python 2小数点

时间:2016-03-31 20:06:19

标签: python python-2.7 python-3.x decimal-point

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

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

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