python保留若干位小數(shù)?format與round的使用區(qū)別
python保留若干位小數(shù) format與round區(qū)別
在對(duì)數(shù)據(jù)進(jìn)行處理時(shí)我們常常會(huì)用到format與round函數(shù)。
二者都能保留若干位小數(shù),但在處理過程上稍有不同。
不同之處
- 返回類型不同:format函數(shù)進(jìn)行格式化后返回結(jié)果的數(shù)據(jù)類型是str字符串,round函數(shù)返回結(jié)果的數(shù)據(jù)類型是float浮點(diǎn)型
- 進(jìn)位不同:保留若干位小數(shù)時(shí),format遵循的是四舍五入原則,而round并不遵循該原則,round進(jìn)位原則為四舍六入次偶進(jìn)。
- 位數(shù)保留不同:規(guī)定如保留6位小數(shù),format函數(shù)輸出結(jié)果小數(shù)點(diǎn)后面就是保留6位小數(shù),而round函數(shù)稍微靈活點(diǎn),它會(huì)把后面0結(jié)尾的小數(shù)都去掉,即保留非0部分。
- 功能不同:round函數(shù)主要作用于浮點(diǎn)型數(shù)據(jù)用于保留若干小數(shù),format函數(shù)不僅僅能夠保留若干小數(shù),它主要功能是格式化字符串,自定義輸出字符串。
round函數(shù)
進(jìn)位原則
何為四舍六入次偶進(jìn)?看最后一位數(shù),如果最后一位數(shù)小于等于4那么舍去,如果最后一位數(shù)大于等于6則進(jìn)一位;如果最后一位數(shù)是5時(shí),就要分情況討論:如果倒數(shù)第二位是偶數(shù)則進(jìn)一位,奇數(shù)的話舍去。
示例
>>> round(2.674,2) # 參數(shù)為2,則保留兩位小數(shù),看第三位小數(shù),如果小于等于4則舍去 2.67 >>> round(2.645,2) # 等于5的話看倒數(shù)第二位,4是偶數(shù), 次偶進(jìn),則進(jìn)一位 2.65 >>> round(2.655,2) # 5是奇數(shù),次偶進(jìn),所以舍去 2.65 >>> round(2.675,2) 2.67 >>> round(2.685,2) 2.69 >>> round(2.695,2) 2.69 >>> round(2.676,2) # 第三位小數(shù)大于等于6,所以進(jìn)一位 2.68 >>> type(round(2.674,2)) # 結(jié)果是浮點(diǎn)型 <class 'float'> >>> round(3.677,6) # 當(dāng)規(guī)定保留小數(shù)超過實(shí)際小數(shù)位數(shù)時(shí),僅保留非零部分 3.677
format函數(shù)
format函數(shù)功能強(qiáng)大,書寫格式多種多樣,我們結(jié)合示例具體說明一下運(yùn)算過程。
示例
>>> format('2.674','.2f') # 使用這種方法保留小數(shù)時(shí),第一個(gè)參數(shù)不可是字符串類型 Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> format('2.674','.2f') ValueError: Unknown format code 'f' for object of type 'str' >>> format(2.674,'.2f') # 正確格式 '.2f'表示保留小數(shù)點(diǎn)后兩位 '2.67' >>> format(3.677,'.6f') # 規(guī)定保留幾位小數(shù)就會(huì)保留幾位小數(shù) '3.677000' >>> print("lishuaige就是%.3f啊" % 6.66555) # 定點(diǎn)數(shù)字格式化輸出 lishuaige就是6.666啊 >>> print("lishuaige就是{:.3f}啊".format(6.66555)) lishuaige就是6.666啊
python常用輸出保留幾位小數(shù)
保留兩位小數(shù)(四舍五入)
a = 1.086 #方法一 print("%.2f" %a) #方法二 print("{:.2f}".format(a)) #方法三 a1 = round(a,2) print(a1)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python 正確保留多位小數(shù)的實(shí)例
- python 除法保留兩位小數(shù)點(diǎn)的方法
- python格式化輸出保留2位小數(shù)的實(shí)現(xiàn)方法
- python保留小數(shù)位的三種實(shí)現(xiàn)方法
- python中round函數(shù)保留兩位小數(shù)的方法
- Python如何保留float類型小數(shù)點(diǎn)后3位
- python保留兩位小數(shù)的3種方法實(shí)例
- python保留小數(shù)函數(shù)的幾種使用總結(jié)
- Python保留指定位數(shù)小數(shù)的5種方法總結(jié)
- 如何利用Python保留指定位數(shù)的小數(shù)
- Python除法保留兩位小數(shù)點(diǎn)的三種方法實(shí)現(xiàn)
- python保留小數(shù)點(diǎn)位數(shù)的多種方式(附demo)
- python保留兩位小數(shù)的五種方法
- python實(shí)現(xiàn)保留小數(shù)位數(shù)的3種方法
相關(guān)文章
Python中用psycopg2模塊操作PostgreSQL方法
python可以操作多種數(shù)據(jù)庫,本篇文章給大家介紹了用psycopg2模塊操作PostgreSQL方法,一起來學(xué)習(xí)下。2017-11-11詳解Python+Turtle繪制奧運(yùn)標(biāo)志的實(shí)現(xiàn)
turtle庫是Python標(biāo)準(zhǔn)庫之一,是入門級(jí)的圖形繪制函數(shù)庫。本文就將利用turtle庫繪制一個(gè)奧運(yùn)標(biāo)志—奧運(yùn)五環(huán),感興趣的可以學(xué)習(xí)一下2022-02-02三分鐘教會(huì)你用Python+OpenCV批量裁剪xml格式標(biāo)注的圖片
最近學(xué)習(xí)網(wǎng)絡(luò)在線課程的過程中,為了方便課后復(fù)習(xí),使用手機(jī)截取了大量的圖片,下面這篇文章主要給大家介紹了如何通過三分鐘教會(huì)你用Python+OpenCV批量裁剪xml格式標(biāo)注圖片的相關(guān)資料,需要的朋友可以參考下2022-01-01Django contenttypes 框架詳解(小結(jié))
這篇文章主要介紹了Django contenttypes 框架詳解(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08PIL.Image.open和cv2.imread的比較與相互轉(zhuǎn)換的方法
這篇文章主要介紹了PIL.Image.open和cv2.imread的比較與相互轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Python fire模塊(最簡化命令行生成工具)的使用教程詳解
Python Fire是谷歌開源的一個(gè)第三方庫,用于從任何Python對(duì)象自動(dòng)生成命令行接口(CLI),可用于如快速拓展成命令行等形式。本文將通過實(shí)例為大家詳細(xì)說說fire模塊的使用,感興趣的可以了解一下2022-10-10