python四舍五入保留小数点后三位_Python中的“正确”四舍五入到小数点后3位
我可能遺漏了一些重要的東西,但我無法找到一種方法來在Python(2.7)中將浮點/小數“適當”舍入,至少舍入到小數點后三位。我的意思是1.2225應該四舍五入到1.223,而1.2224應該四舍五入到1.222。在
我知道在Python中,round不適用于float,但我似乎無法使Decimal按預期運行,也無法使ceil函數正常工作。尋找內置的功能,而不是自定義功能的解決方案,但對兩者都開放。在>>> x = 1.2225 # expected: 1.223
>>> round(x, 3)
1.222 # incorrect
>>> from math import ceil
>>> ceil(x * 1000.0) / 1000.0
1.223 # correct
>>> y = 1.2224 # expected: 1.222
>>> ceil(y * 1000.0) / 1000.0
1.223 # incorrect
>>> from decimal import Decimal, ROUND_UP, ROUND_HALF_UP
>>> x = Decimal(1.2225)
>>> x.quantize(Decimal('0.001'), ROUND_UP)
Decimal('1.223') # correct
>>> y = Decimal(1.2224)
>>> y.quantize(Decimal('0.001'), ROUND_UP)
Decimal('1.223') # incorrect
>>> y.quantize(Decimal('0.001'), ROUND_HALF_UP)
Decimal('1.222') # correct
>>> x.quantize(Decimal('0.001'), ROUND_HALF_UP)
Decimal('1.222') # incorrect
有沒有辦法得到想要的結果?在
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python四舍五入保留小数点后三位_Python中的“正确”四舍五入到小数点后3位的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mongodb mysql配置_Nosq
- 下一篇: java重载this_Java的this