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一文入門Flask?Blueprint?SQLAlchemy部分詳解
這篇文章主要為大家介紹了Python一文入門Flask?Blueprint?SQLAlchemy部分詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Tensorflow2.4從頭訓(xùn)練Word?Embedding實(shí)現(xiàn)文本分類
這篇文章主要為大家介紹了Tensorflow2.4從頭訓(xùn)練Word?Embedding實(shí)現(xiàn)文本分類,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
Python中使用socket發(fā)送HTTP請(qǐng)求數(shù)據(jù)接收不完整問題解決方法
這篇文章主要介紹了Python中使用socket發(fā)送HTTP請(qǐng)求數(shù)據(jù)接收不完整問題解決方法,本文使用一個(gè)循環(huán)解決了數(shù)據(jù)不完整問題,需要的朋友可以參考下2015-02-02
Python中10個(gè)常用的內(nèi)置函數(shù)詳解
這篇文章主要為大家介紹了Python常用的內(nèi)置函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12
langchain使用自定義example?selector示例解析
這篇文章主要為大家介紹了langchain使用自定義example?selector示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
復(fù)化梯形求積分實(shí)例——用Python進(jìn)行數(shù)值計(jì)算
今天小編就為大家分享一篇復(fù)化梯形求積分實(shí)例——用Python進(jìn)行數(shù)值計(jì)算,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11

