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'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/249488.html
標籤:python
上一篇:經典優化演算法——模擬退火
