學(xué)習(xí) pyhton 遇到內(nèi)置函數(shù),持續(xù)筆記中.......
round(number ,[digits])
返回 number 舍入到小數(shù)點(diǎn)后 digits 位精度的值。如果 digits 被省略或者為 None ,則返回最接近輸入值的這整數(shù)。
對(duì)于支持 round() 的內(nèi)置類(lèi)型,值會(huì)被舍入到最接近的 10 的負(fù) ndigits 次冪的倍數(shù);如果與兩個(gè)倍數(shù)的距離相等,則選擇偶數(shù) (因此,round(0.5) 和 round(-0.5) 均為 0 而 round(1.5) 為 2)。 任何整數(shù)值都可作為有效的 ndigits (正數(shù)、零或負(fù)數(shù))。 如果 ndigits 被省略或?yàn)?None 則返回值將為整數(shù)。 否則返回值與 number 的類(lèi)型相同。
對(duì)于一般的 Python 對(duì)象 number, round 將委托給 number.__round__。
注解
對(duì)浮點(diǎn)數(shù)執(zhí)行 round() 的行為可能會(huì)令人驚訝:例如,round(2.675, 2) 將給出 2.67 而不是期望的 2.68。 這不算是程序錯(cuò)誤:這一結(jié)果是由于大多數(shù)十進(jìn)制小數(shù)實(shí)際上都不能以浮點(diǎn)數(shù)精確地表示。 請(qǐng)參閱 浮點(diǎn)算術(shù):爭(zhēng)議和限制 了解更多信息。
大部分架構(gòu)上,浮點(diǎn)數(shù)都只能近似地使用二進(jìn)制小數(shù)表示,因此Python通過(guò)顯示舍入值來(lái)保持可管理的位數(shù)
牢記,即使輸出的結(jié)果看起來(lái)好像就是 1/10 的精確值,實(shí)際儲(chǔ)存的值只是最接近 1/10 的計(jì)算機(jī)可表示的二進(jìn)制分?jǐn)?shù)。注意這種情況是二進(jìn)制浮點(diǎn)數(shù)的本質(zhì)特性:它不是 Python 的錯(cuò)誤,也不是你代碼中的錯(cuò)誤。 你會(huì)在所有支持你的硬件中的浮點(diǎn)運(yùn)算的語(yǔ)言中發(fā)現(xiàn)同樣的情況(雖然某些語(yǔ)言在默認(rèn)狀態(tài)或所有輸出模塊下都不會(huì) 顯示 這種差異)。