python中四捨五入的正確開啟方式
round()函式
(注意:下面的我也不清楚是否正確,我只是發表一下我的觀點)
對於簡單的舍入運算,使用內建的 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()函式就好了
>>> 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) #這三個的返回結果都是浮點型 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中四捨五入的正確開啟方式的文章就介紹到這了,更多相關python 四捨五入內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!