Python取整——上向き取整、下向き取整、四捨五入取整、向0取整
1747 ワード
くだらないことは言わないで、直接codeに行きます:
まず、無視されやすい問題や混同されやすい問題を注意しなければなりません.一般的に、0.5という末尾は5の小数で、四捨五入して整位すべきです.この進位の意味は:-0.5→-1;0.5 → 1.すなわち、正負の場合によっては、いずれも0から離れて絶対値が大きくなる方向に変位する上方修正:math.Ceil() である.四捨五入:round() 下向き整理:math.floor() は議論する. 2 2つの面白くて特殊なPythonの取り外し:int()、修正"//" int() である."//"
まとめてみます.上方修正:math.ceil() 下向き整理:math.floor()、整除"//" 四捨五入:round()——奇数は0から離れて整頓し、偶数は尾を除いて整頓する.あるいは、奇数進位、偶数脱尾 0 0への整列:int() 最近アルゴリズムの問題をしているので、多くのアルゴリズムの問題は(0-1)/2のような境界計算に関連しています.このとき、私たちはこの-0.5を0にしたいと思っています.そして、(4-1)/2の結果1.5を1にしたいと思っています.つまり、正数は下に、負数は上に、つまり0にしたいと思っています.このとき、int()を使うことができます.
まず、無視されやすい問題や混同されやすい問題を注意しなければなりません.一般的に、0.5という末尾は5の小数で、四捨五入して整位すべきです.この進位の意味は:-0.5→-1;0.5 → 1.すなわち、正負の場合によっては、いずれも0から離れて絶対値が大きくなる方向に変位する
import math
math.ceil(-0.5)
>>> 0
math.ceil(-0.9)
>>> 0
math.ceil(0.3)
>>> 1
codeに示すように、math.Ceil()は上方修正に厳格に従い、すべての小数は数値のより大きな方向に修正され、正負数にかかわらずround(-2.5)
>>> -2
round(-1.5)
>>> -2
round(-0.5)
>>> 0
round(0.5)
>>> 0
round(1.5)
>>> 2
round(2.5)
>>> 2
codeに示すように、round()は、2番目のパラメータが入力されない場合にデフォルトで整列され、具体的には四捨五入される.しかし、ここでは小数点以下の末尾を5とする処理方法について、末尾の5の上位が奇数である場合、絶対値がより大きい方向に整列する場合(例えば-1.5、1.5処理結果)、末尾の5の上位が偶数である場合(例えば-2.5、-0.5、0.5、2.5の処理結果).math.floor(-0.3)
>>> -1
math.floor(0.9)
>>> 0
は単純かつ忠実に下向きに整列し、int(-0.5)
>>> 0
int(-0.9)
>>> 0
int(0.5)
>>> 0
int(0.9)
>>> 0
一言まとめ:int()関数は「0に整列」であり、整列方向は常に小数の絶対値よりも結果を小さくする(-1) // 2 # -0.5
>>> -1
(-3) // 2 # -1.5
>>> -2
1 // 2 # 0.5
>>> 0
3 // 2 # 1.5
>>> 1
一言まとめ:「整除」シンボル演算は結果を忠実に下に取り、math.floor()処理結果は同じまとめてみます.