如何利用Python保留指定位數的小數
1 ’%.2f’ %f 方法(推薦)
??f = 1.23456
print('%.4f' % f)
print('%.3f' % f)
print('%.2f' % f)結果:
1.2346
1.235
1.23
這個方法會進行四舍五入
2 format函數(推薦)
print(format(1.23456, '.2f')) print(format(1.23456, '.3f')) print(format(1.23456, '.4f'))
1.23
1.235
1.2346
這個方法會進行四舍五入
3 round()函數
其實這個方法不推薦大家使用,查詢資料發(fā)現里面的坑其實很多,python2和python3里面的坑還不太一樣,在此簡單描述一下python3對應的坑的情況。
a = 1.23456 b = 2.355 c = 3.5 d = 2.5 print(round(a, 3)) print(round(b, 2)) print(round(c)) print(round(d))
1.235 # 1.23456最終向前進位了
2.35 # 2.355居然沒進位
4 # 最終3.5居然變?yōu)?了
2 # 最終2.5取值變?yōu)?
(1)通過上面的函數,看著是不是很暈,感覺round(x,n)函數是否進位也沒看出是啥規(guī)律
(2)round(x,n)函數中,是否進位或四舍五入,取決于n位以及n+1位小數的值
(3)只有當n+1位數字是5的時候,容易混淆,如果n為偶數,則n+1位數是5,則進位,例如round(1.23456,3)最終變?yōu)?.235
(4)如果n為奇數,則n+1位是數5,那不進位,例如round(2.355,2),最終為2.35
(5)如果n為0,即沒有填寫n的時候,最終結果與上面相反,即整數部分為偶數的時候,小數位5不進位,例如(round(2.5)變?yōu)?)。
(6)整數部分為奇數的時候,小數位5進位。(round(3.5)變?yōu)?)
————————————————
4 不進行四舍五入,直接進行截斷
(1)可以放大指定的倍數,然后取整,然后再除以指定的倍數。
#保留三位小數截斷 python3 print(int(1.23456 * 1000) / 1000 )
(2) 使用字符串截取,截取小數點后指定的位數
原文鏈接:
總結
到此這篇關于如何利用Python保留指定位數的小數的文章就介紹到這了,更多相關Python保留指定位數小數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- python 正確保留多位小數的實例
- python 除法保留兩位小數點的方法
- python格式化輸出保留2位小數的實現方法
- python保留小數位的三種實現方法
- python中round函數保留兩位小數的方法
- Python如何保留float類型小數點后3位
- python保留兩位小數的3種方法實例
- python保留小數函數的幾種使用總結
- python保留若干位小數?format與round的使用區(qū)別
- Python保留指定位數小數的5種方法總結
- Python除法保留兩位小數點的三種方法實現
- python保留小數點位數的多種方式(附demo)
- python保留兩位小數的五種方法
- python實現保留小數位數的3種方法
相關文章
Pytorch反向傳播中的細節(jié)-計算梯度時的默認累加操作
這篇文章主要介紹了Pytorch反向傳播中的細節(jié)-計算梯度時的默認累加操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

