python保留兩位小數的3種方法實例

1.’%.2f’%f

該方法會進行四舍五入

代碼如下所示:

f = 2.3456789

print('%.2f'%f)
print('%.3f'%f)
print('%.4f'%f)

結果如下所示

2.35
2.346
2.3457

2.format函數

該方法也會進行四舍五入

代碼如下所示:

f = 2.3456789

print('{:.2f}'.format(f))
print('{:.3f}'.format(f))
print('{:.4f}'.format(f))

結果如下圖所示

2.35
2.346
2.3457

3.round函數(不推薦使用)

round函數帶有一點點的小坑,不是很推薦使用

round函數的進位規則一般為’四舍六入五湊偶’

代碼如下圖所示:

print(round(2.25,1))
print(round(2.35,1))
print(round(2.125,2))
print(round(2.875,2))

結果如下圖所示:

2.2
2.4
2.12
2.88

這與我們的結論沒有出入,但我們換一下數據,再看一下結果

print(round(2.335,2))
print(round(2.225,2))

2.33
2.23

這裡就與我們的結論不一致,原因是在機器中浮點數不一定被精確的表達,在轉換成01後可能為無限位,機器會進行截斷處理,所以會和浮點數的精確值有一定的出入,從而達不到我們預期的目標

所以如果對浮點數沒有精度要求時可以使用round函數

如果對浮點數的精度要求較高,推薦使用decimal模塊

附:Python round() 函數

描述

round() 方法返回浮點數x的四舍五入值。

語法

以下是 round() 方法的語法:

round( x [, n]  )

參數

  • x — 數值表達式。
  • n — 數值表達式,表示從小數點位數。

返回值

返回浮點數x的四舍五入值。

實例

以下展示瞭使用 round() 方法的實例:

#!/usr/bin/python

print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)

以上實例運行後輸出結果為:

round(80.23456, 2) :  80.23
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0

總結

到此這篇關於python保留兩位小數的3種方法的文章就介紹到這瞭,更多相關python保留兩位小數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: