python中format函數(shù)與round函數(shù)的區(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啊
總結(jié)
到此這篇關(guān)于python中format函數(shù)與round函數(shù)的區(qū)別的文章就介紹到這了,更多相關(guān)python format和round函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用python實(shí)現(xiàn)一個(gè)文件搜索工具
大家好,本篇文章主要講的是用python實(shí)現(xiàn)一個(gè)搜索工具,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01python3獲取文件中url內(nèi)容并下載代碼實(shí)例
這篇文章主要介紹了python3獲取文件中url內(nèi)容并下載代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python使用Selenium批量自動(dòng)化獲取并下載圖片的方法
在現(xiàn)代的Web開發(fā)中,自動(dòng)化測(cè)試和數(shù)據(jù)抓取已經(jīng)成為不可或缺的一部分,Selenium作為一款強(qiáng)大的自動(dòng)化測(cè)試工具,可以用于批量獲取網(wǎng)頁上的圖片,所以本文給大家介紹了Python如何使用Selenium批量自動(dòng)化獲取并下載圖片的方法2024-11-11500行代碼使用python寫個(gè)微信小游戲飛機(jī)大戰(zhàn)游戲
這篇文章主要介紹了500行代碼使用python寫個(gè)微信小游戲飛機(jī)大戰(zhàn)游戲,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10利用Python實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)日?qǐng)?bào)
日?qǐng)?bào),是大部分打工人繞不過的難題。對(duì)于管理者來說,日?qǐng)?bào)是事前管理的最好抓手,可以了解團(tuán)隊(duì)的氛圍和狀態(tài)。本文將利用Python實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)日?qǐng)?bào),感興趣的可以動(dòng)手嘗試一下2022-07-07