大多数Pythonic方法计算后计算浮动

时间:2018-01-18 00:23:45

标签: python

最终,我正在尝试完成一个数字的计算,这个数字可以让我回到3位小数,并将其四舍五入到小数点后两位。我所拥有的是:

total = 175

tax = .0875

total += total * tax  # giving me my desired total
print total
>>> 190.3125

rounded = round(total, 2)  # giving me my desired decimal place
print rounded
>>> 190.31

我在考虑将totalrounded行合二为一,但它看起来很混乱......

我觉得这是最快的方式,但看起来并不像我想的那样:

total = round((total + (total*tax)), 2)

print total
>>> 190.31

修改

感谢各位评论中的输入。似乎时间显然不是要强调的事情。我将使用rounded = round(total, 2)运行代码。再次感谢!

1 个答案:

答案 0 :(得分:0)

我认为你应该首先考虑蟒蛇。圆形浮子的关键目的是什么?你需要使用这个圆形浮点数来计算,或者你想显示它吗?或者您想将其存储到具有一致格式的文件或数据库中?不同的目的导致不同的方法。

如果您想稍后使用此圆形浮点数进行计算,则不需要将其舍入。我们不应该在最终计算之前做任何额外的过程,因为它只会降低结果的精确度而没有任何好处。

如果要显示此舍入浮点数,可以将精度保持在变量内并使用字符串格式:print "%.2f" % total。这也将打印出你想要的东西,但不会让你失去精确度。

如果你想将它存储到文件或数据库中,你可以转到rounded = round(total, 2),它真的是pythonic并且很有用。