溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中format函數(shù)與round函數(shù)有什么區(qū)別

發(fā)布時間:2022-01-14 16:42:38 來源:億速云 閱讀:222 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細介紹“python中format函數(shù)與round函數(shù)有什么區(qū)別”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“python中format函數(shù)與round函數(shù)有什么區(qū)別”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    不同之處

    返回類型不同:format函數(shù)進行格式化后返回結(jié)果的數(shù)據(jù)類型是str字符串,round函數(shù)返回結(jié)果的數(shù)據(jù)類型是float浮點型

    進位不同:保留若干位小數(shù)時,format遵循的是四舍五入原則,而round并不遵循該原則,round進位原則為四舍六入次偶進。

    位數(shù)保留不同:規(guī)定如保留6位小數(shù),format函數(shù)輸出結(jié)果小數(shù)點后面就是保留6位小數(shù),而round函數(shù)稍微靈活點,它會把后面0結(jié)尾的小數(shù)都去掉,即保留非0部分。

    功能不同:round函數(shù)主要作用于浮點型數(shù)據(jù)用于保留若干小數(shù),format函數(shù)不僅僅能夠保留若干小數(shù),它主要功能是格式化字符串,自定義輸出字符串。

    round函數(shù)

    進位原則

    何為四舍六入次偶進?看最后一位數(shù),如果最后一位數(shù)小于等于4那么舍去,如果最后一位數(shù)大于等于6則進一位;如果最后一位數(shù)是5時,就要分情況討論:如果倒數(shù)第二位是偶數(shù)則進一位,奇數(shù)的話舍去。

    示例

    >>> round(2.674,2)  # 參數(shù)為2,則保留兩位小數(shù),看第三位小數(shù),如果小于等于4則舍去 
    2.67
    >>> round(2.645,2)  # 等于5的話看倒數(shù)第二位,4是偶數(shù), 次偶進,則進一位
    2.65
    >>> round(2.655,2)  # 5是奇數(shù),次偶進,所以舍去
    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,所以進一位
    2.68
    >>> type(round(2.674,2))  # 結(jié)果是浮點型
    <class 'float'>
    >>> round(3.677,6)  # 當規(guī)定保留小數(shù)超過實際小數(shù)位數(shù)時,僅保留非零部分
    3.677

    format函數(shù)

    format函數(shù)功能強大,書寫格式多種多樣,我們結(jié)合示例具體說明一下運算過程。

    示例

    >>> format('2.674','.2f')   # 使用這種方法保留小數(shù)時,第一個參數(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ù)點后兩位
    '2.67'
    >>> format(3.677,'.6f')  # 規(guī)定保留幾位小數(shù)就會保留幾位小數(shù) 
    '3.677000'
    >>> print("lishuaige就是%.3f啊" % 6.66555)  # 定點數(shù)字格式化輸出
    lishuaige就是6.666啊
    >>> print("lishuaige就是{:.3f}啊".format(6.66555))
    lishuaige就是6.666啊

    讀到這里,這篇“python中format函數(shù)與round函數(shù)有什么區(qū)別”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI