Python取整的方法

2021-10-02 12:02:40 字數 2923 閱讀 4356

python自帶的int()取整

>>

>

int(

1.2)

1>>

>

int(

2.8)

2>>

>

int(

-0.1)0

>>

>

int(

-5.6)-

5

總結:int()函式是「向0取整」,取整方向總是讓結果比小數的絕對值更小

>>

>

import math

>>

>

>>

> math.ceil(

0.6)

1>>

> math.ceil(

1.1)

2>>

> math.ceil(

3.0)

3>>

> math.ceil(

-0.3)0

>>

> math.ceil(

-5.1)-

5

總結:math.ceil()嚴格遵循向上取整,所有小數都是向著數值更大的方向取整,不論正負數都如此

>>

>

import math

>

>>

> math.floor(

0.5)

0>>

> math.floor(

1.2)

1>>

> math.floor(

-0.9)-

1>>

> math.floor(

-3.0)-

3>>

> math.floor(

-3.1)-

4

總結:math.floor()嚴格遵循向下取整,所有小數都是向著數值更小的方向取整,不論正負數都如此

再看看python的取整「//「,同樣是向下取整,記住啊:

>>

>5//

31>>

>1//

50>>

>8//

42>>

>-6

//5-2

>>

>-8

//9-1

>>

>-8

//2-4

>>

>

round

(1.1)1

>>

>

round

(4.5)4

>>

>

round

(4.51)5

>>

>

round(-

1.3)-1

>>

>

round(-

4.5)-4

>>

>

round(-

4.51)-

5>>

>

round

(1.248,2

)1.25

>>

>

round

(1.241,2

)1.24

>>

>

round(-

1.248,1

)-1.2>>

>

round

(1.25,1

)1.2

>>

>

這裡注意:round(4.5)的結果是4,round(4.51)的結果才是5,這裡要看5後面的數字,只有大於5時才進1,恰好等於5時取決於前面的數,遵循「奇進偶不進」原則。這與我們字面上理解的」五入「有所出入(python 3.7.4)。

>>

> math.modf(

100.123)(

0.12300000000000466

,100.0

)>>

> math.modf(

-100.123)(

-0.12300000000000466,-

100.0

)>>

>

math.modf()函式得到乙個(x,y)的元組,x為小數部分,y為整數部分(這裡xy均為float浮點數)

注意:結果是」小數+整數「,而非」整數+小數「。

python運算子%取模 - 返回除法的餘數

>>

>5%

21>>

>

0.5%

20.5

>>

>

5.3%

21.2999999999999998```

正數很好理解,這裡返回的餘數時乙個無線接近結果的近似值。

```python

>>

>

-2.5%8

5.5>>

>

-3.2%2

0.7999999999999998

>>

>5%

-2-1

>>

>5%

(-3)

-1>>

>

5.2%-2

-0.7999999999999998

>>

>-8

%-3-

2>>

>-2

%-8-

2>>

>-2

%-9-

2

懵了,為什麼不是:-2.5和-1.2,而是:5.5和0.8?

求模運算規則是由除法規則定的:

模=被除數-除數×商

這裡的」商」的值其本質是由python的整除//採取的向下取整演算法決定的。所以,整理下公式就是這樣的:

模=被除數-除數×(被除數//除數)

python取整方法

用 math 模組中的 ceil 方法 import math math.ceil 3.25 4.0 math.ceil 3.75 4.0 math.ceil 4.85 5.0直接用內建的 int 函式即可 a 3.75 int a 3floor import math math.floor x 對...

python 資料取整方法

參考 參考 向下取整 int math.floor a 12.66 int a 12 math.floor 3.14 3 math.floor 3.54 3向上取整 math.ceil import math math.ceil 3.14 4 math.ceil 3.66 4四捨五入 round r...

python 常見的取整方法

碎玉長青關注 2018.07.16 15 45 50字數 400閱讀 6,122 摘自 資料處理是程式設計中不可避免的,很多時候都需要根據需求把獲取到的資料進行處理,取整則是最基本的資料處理。取整的方式則包括向下取整 四捨五入 向上取整等等。向下取整直接用內建的int 函式即可 a 3.75 int...