我正在使用python 2.7,我拥有的代码是:
a = 10.5 * 22.34 / 2.0
print "%.2f" % a
我期望的结果是117.29,但显示为117.28。该如何解决呢?
最佳答案
如果Python使用的是64位IEEE-754二进制浮点类型,则其使用的确切值将是
117.284999999999996589394868351519107818603515625
...显然低于117.28和117.29之间的中点。可能就是这样。
另一个选择是Python使用Banker's Rounding。
如果确切的十进制值对您很重要,则您可能需要考虑使用
decimal
。