您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在python中實現一個四舍五入功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
(注意:下面的我也不清楚是否正確,我只是發表一下我的觀點)
對于簡單的舍入運算,使用內置的 round(value, ndigits) 函數即可
強烈建議不要去深究,就直接得結果就好
ndigiths可以為正數,也可以為負數,還可以為0,可以為空
n:就是精確到第n位小數,對整數沒有影響,1為精確到十分位(注意:小數就是從十分位往后推的)
-n:就是精確到整數位,-1為精確到十位,然后就是百位千位…有小數位就全舍掉,不管多大,但會保留一個為0的小數位
0:精確到個位,但會保留一個為0的小數位
為空:精確到個位,沒有小數位
其他還好就這個臨界點5很煩,我自己感覺得啊
就我以前的理解要是將1.49精確到個位應該得到的是2對吧,是從右往左依次進行四舍五入吧,但python運行結果為1
下面是小數部分的
>>> 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
這里是整數
>>> round(1235,-1) 1240 >>> round(1245,-1) 1240 >>> round(1234.99,-1) 1230.0 >>> round(1245,-2) 1200
這是我在網上查的對四舍五入的理解:
1、同型算法:四舍六入五成雙。這里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾數逢五的話看前一位,奇進偶不進。如1.25保留一位小數,因為2是偶數,所以是1.2。
2、從統計學的角度,"四舍六入五成雙"比"四舍五入"要科學,它使舍入后的結果有的變大,有的變小,更平均。而不是像四舍五入那樣逢五就入,導致結果偏向大數。
不清python用的是什么標準來進行四舍五入的
我還去網上查了一下Python中對四舍五入的理解:
在Python3中,round函數的取舍方式使用靠近最近和等距靠近偶數(ROUND_HALF_EVEN)策略
不怎么理解,辣雞了呀
不去想了,再想會把我以前對四舍五入的理解都搞混了,花費我很多時間,還是不懂,害,任它去吧
還是想建議大家就直接使用,不要理解哦,如果你是大佬就當我沒說,嘿嘿
如果只想在輸出時按格式打印,使用format()函數就好了
>>> format(1.45,'0.1f') '1.4' >>> format(1.35,'0.1f') '1.4'
#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) #這三個的返回結果都是浮點型 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)
運行結果:
關于怎么在python中實現一個四舍五入功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。