1. 程式人生 > >Python保留兩位小數

Python保留兩位小數

>>> a = 5.026
>>> b = 5.000

#round()浮點數四捨五入以及設定其小數位數
>>> round(a,2)
5.03
>>> round(b,2)
5.0

#字串格式化"%.2f"的使用,點數後為精度,此時精度為2
>>> "%.2f" % a
'5.03'
>>> "%.2f" % b
'5.00'
>>> float("%.2f" % a)
5.03
>>> float("%.2f" % b)
5.0

#Decimal的使用
>>> from decimal import Decimal
>>> Decimal("5.026").quantize(Decimal("0.00"))
Decimal('5.03')
>>> Decimal("5.000").quantize(Decimal("0.00"))
Decimal('5.00')

這裡有三種方法,

round(a,2)
'%.2f' % a       #方法最好
Decimal('5.000').quantize(Decimal('0.00'))   #其次

當需要輸出的結果要求有兩位小數的時候,字串形式的:'%.2f' % a 方式最好,其次用Decimal。

需要注意的:

1. 可以傳遞給Decimal整型或者字串引數,但不能是浮點資料,因為浮點資料本身就不準確。

2. Decimal還可以用來限定資料的總位數。

參考文稿: