python中format函數與round函數的區別
前言
在對數據進行處理時我們常常會用到format與round函數。二者都能保留若幹位小數,但在處理過程上稍有不同。
不同之處
返回類型不同:format函數進行格式化後返回結果的數據類型是str字符串,round函數返回結果的數據類型是float浮點型
進位不同:保留若幹位小數時,format遵循的是四舍五入原則,而round並不遵循該原則,round進位原則為四舍六入次偶進。
位數保留不同:規定如保留6位小數,format函數輸出結果小數點後面就是保留6位小數,而round函數稍微靈活點,它會把後面0結尾的小數都去掉,即保留非0部分。
功能不同:round函數主要作用於浮點型數據用於保留若幹小數,format函數不僅僅能夠保留若幹小數,它主要功能是格式化字符串,自定義輸出字符串。
round函數
進位原則
何為四舍六入次偶進?看最後一位數,如果最後一位數小於等於4那麼舍去,如果最後一位數大於等於6則進一位;如果最後一位數是5時,就要分情況討論:如果倒數第二位是偶數則進一位,奇數的話舍去。
示例
>>> round(2.674,2) # 參數為2,則保留兩位小數,看第三位小數,如果小於等於4則舍去 2.67 >>> round(2.645,2) # 等於5的話看倒數第二位,4是偶數, 次偶進,則進一位 2.65 >>> round(2.655,2) # 5是奇數,次偶進,所以舍去 2.65 >>> round(2.675,2) 2.67 >>> round(2.685,2) 2.69 >>> round(2.695,2) 2.69 >>> round(2.676,2) # 第三位小數大於等於6,所以進一位 2.68 >>> type(round(2.674,2)) # 結果是浮點型 <class 'float'> >>> round(3.677,6) # 當規定保留小數超過實際小數位數時,僅保留非零部分 3.677
format函數
format函數功能強大,書寫格式多種多樣,我們結合示例具體說明一下運算過程。
示例
>>> format('2.674','.2f') # 使用這種方法保留小數時,第一個參數不可是字符串類型 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'表示保留小數點後兩位 '2.67' >>> format(3.677,'.6f') # 規定保留幾位小數就會保留幾位小數 '3.677000' >>> print("lishuaige就是%.3f啊" % 6.66555) # 定點數字格式化輸出 lishuaige就是6.666啊 >>> print("lishuaige就是{:.3f}啊".format(6.66555)) lishuaige就是6.666啊
總結
到此這篇關於python中format函數與round函數的區別的文章就介紹到這瞭,更多相關python format和round函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!