我在Python 2中有一个关于小数点的快速问题。 这是Python 2中的代码:
a = 1500/1589
print (round(a,2))
#0.0
我认为它会在Python 3中打印出a = 0.94。我只是想知道如何为我的答案得到2位小数。
答案 0 :(得分:1)
您需要通过添加显式小数点来指定除法的至少一个输入是浮点数。
a = 1500. / 1589
print round(a, 2)
# 0.94
如果不这样做,1500
和1589
都被视为整数,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)