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!
推薦閱讀:
- python3 實現除法結果為整數
- Python浮點數取整、格式化和NaN處理的操作方法
- python保存兩位小數的多種方法匯總
- python中decimal模塊的用法
- python中format函數與round函數的區別