我需要在小数点后一位舍去小数点后四舍五入。 我正在使用方法:
y = 78.459
x = int(y * 100) / 100
,其返回为78.45
。应当。
但是,如果我愿意
y = 5.10
x = int(y * 100) / 100
它应该以{{1}}的形式返回5.09
由于Python中的浮点错误,我知道这是一个表示错误,但是我不知道如何解决它。 如果有人可以帮助我弄清楚如何解决制图表达错误,或者找到更好的方法来截断百分位数,我将不胜感激。 谢谢
答案 0 :(得分:1)
为此使用decimal
模块:
>>> from decimal import Decimal as d
>>> y = d('5.10')
>>> x = int(y * 100) / 100
>>> x
5.1
>>>
答案 1 :(得分:0)
您可以在decimal
模块中使用quantize
function:
>>> import decimal
>>> y = decimal.Decimal('78.459')
>>> z = decimal.Decimal('.01')
>>> y.quantize(z, rounding=decimal.ROUND_DOWN)
Decimal('78.45')