溫馨提示×

溫馨提示×

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

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

怎么在python中實現(xiàn)一個四舍五入功能

發(fā)布時間:2021-01-18 14:25:30 來源:億速云 閱讀:352 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹怎么在python中實現(xiàn)一個四舍五入功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

round()函數(shù)

(注意:下面的我也不清楚是否正確,我只是發(fā)表一下我的觀點)

對于簡單的舍入運算,使用內(nèi)置的 round(value, ndigits) 函數(shù)即可
強烈建議不要去深究,就直接得結(jié)果就好
ndigiths可以為正數(shù),也可以為負(fù)數(shù),還可以為0,可以為空
n:就是精確到第n位小數(shù),對整數(shù)沒有影響,1為精確到十分位(注意:小數(shù)就是從十分位往后推的)
-n:就是精確到整數(shù)位,-1為精確到十位,然后就是百位千位…有小數(shù)位就全舍掉,不管多大,但會保留一個為0的小數(shù)位
0:精確到個位,但會保留一個為0的小數(shù)位
為空:精確到個位,沒有小數(shù)位

其他還好就這個臨界點5很煩,我自己感覺得啊
就我以前的理解要是將1.49精確到個位應(yīng)該得到的是2對吧,是從右往左依次進行四舍五入吧,但python運行結(jié)果為1
下面是小數(shù)部分的

>>> round(1.49)
1
>>> round(1.5)
2
>>> round(0.5)
0
>>> round(0.51)
1
>>> round(0.051,1)
0.1
>>> round(0.05,1)
0.1
>>> round(0.046,1)
0.0
>>> round(0.25,1)
0.2
>>> round(0.35,1)
0.3
>>> round(0.251,1)
0.3

這里是整數(shù)

>>> round(1235,-1)
1240
>>> round(1245,-1)
1240
>>> round(1234.99,-1)
1230.0
>>> round(1245,-2)
1200

這是我在網(wǎng)上查的對四舍五入的理解:
1、同型算法:四舍六入五成雙。這里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾數(shù)逢五的話看前一位,奇進偶不進。如1.25保留一位小數(shù),因為2是偶數(shù),所以是1.2。
2、從統(tǒng)計學(xué)的角度,"四舍六入五成雙"比"四舍五入"要科學(xué),它使舍入后的結(jié)果有的變大,有的變小,更平均。而不是像四舍五入那樣逢五就入,導(dǎo)致結(jié)果偏向大數(shù)。
不清python用的是什么標(biāo)準(zhǔn)來進行四舍五入的
我還去網(wǎng)上查了一下Python中對四舍五入的理解:
在Python3中,round函數(shù)的取舍方式使用靠近最近和等距靠近偶數(shù)(ROUND_HALF_EVEN)策略
不怎么理解,辣雞了呀
不去想了,再想會把我以前對四舍五入的理解都搞混了,花費我很多時間,還是不懂,害,任它去吧
還是想建議大家就直接使用,不要理解哦,如果你是大佬就當(dāng)我沒說,嘿嘿

format()函數(shù)

如果只想在輸出時按格式打印,使用format()函數(shù)就好了

>>> format(1.45,'0.1f')
'1.4'
>>> format(1.35,'0.1f')
'1.4'

python 向上取整ceil 向下取整floor 四舍五入round

#encoding:utf-8
import math

#向上取整
print "math.ceil---"
print "math.ceil(2.3) => ", math.ceil(2.3)
print "math.ceil(2.6) => ", math.ceil(2.6)

#向下取整
print "\nmath.floor---"
print "math.floor(2.3) => ", math.floor(2.3)
print "math.floor(2.6) => ", math.floor(2.6)

#四舍五入
print "\nround---"
print "round(2.3) => ", round(2.3)
print "round(2.6) => ", round(2.6)

#這三個的返回結(jié)果都是浮點型
print "\n\nNOTE:every result is type of float"
print "math.ceil(2) => ", math.ceil(2)
print "math.floor(2) => ", math.floor(2)
print "round(2) => ", round(2)

運行結(jié)果:

怎么在python中實現(xiàn)一個四舍五入功能

關(guān)于怎么在python中實現(xiàn)一個四舍五入功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(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