Python資料處理(四捨五入 除法部分)

2022-08-19 05:45:13 字數 1352 閱讀 5893

最近在改造之前的**的過程中發現一直使用的除法都是「傳統除法」,即對整數進行操作,結果的精度不准,正巧在看python核心程式設計,碰到這塊,整理下。

關於除法

對兩個整數進行除的運算,同時結果會捨去小數部分,返回乙個整數。但如果運算元之一是浮點型,則執行真正的除法。

返回真實的商,不管運算元的類似是整數還是浮點數

需要執行如下指令將傳統除法轉換為真正的除法

from __future__  import division

不管運算元為何種數值型別,總是捨去小數部分,返回數字序列中比真正的商小的最接近的數字,操作符「//」

舉例:

>>> print "5/3傳統除法:",5/3

5/3傳統除法: 1

>>> from __future__ import division

>>> print "5/3真正的除法:",5/3

5/3真正的除法: 1.66666666667

>>> print "5/3地板除:",5.0//3

5/3地板除: 1.0

關於取整

常用的直接就是int(),但會發現是直接把小數部分去掉了的整數,有的時候不是我們要的,學習了下int,floor,round的區別

舉例:

>>> import math

>>> int(3.67)

3>>> math.floor(3.67)

3.0>>> round(3.67)

4.0

如上只是針對python2.x版本的情況,python3.x版本已經有了變化。

如下為python3.3版本的對應變化

關於除法

python3.3版本中的傳統除法就是真正的除法,不管除數和被除數是否為整數,結果都是真實的商。

python3.3版本中保留了地板除。

舉例:

>>> print ("傳統除法:",1/2)

傳統除法: 0.5

>>> print ("地板除:",1//2)

地板除: 0

關於取整

python3.3中的int()和floor()、round()的運算方式沒變動,只是最終的返回結果都是整型

舉例:

>>> int(1.9)

1>>> import math

>>> math.floor(1.2)

1>>> type(math.floor(1.2))

>>> round(1.6)

2>>> type(round(1.6))

qt的四捨五入 Qt(C )四捨五入

qt現在是四捨六入五成雙,要想四捨五入得自己想辦法,實現如下 include include double c1 3.435 double c2 3.445 double c3 3.4351 double c4 3.4451 double c5 3.445 qdebug qdebug qdebug ...

mysql 金額 四捨五入 mysql四捨五入

雲資料庫 mysql 雲資料庫 rds for mysql 是穩定可靠 可彈性伸縮的雲資料庫服務。通過雲資料庫能夠讓您幾分鐘內完成資料庫部署。雲端完全託管,讓您專注於應用程式開發,無需為資料庫運維煩惱 低至 0.24 小時起,買1年83折 雲資料庫mysql 雲資料庫 rds for mysql 是...

python 數字四捨五入

在處理時間時,你會經常遇到小數點後有許多數字的浮點值。為了讓這些值更易於處理,可以用 python 內建的 round 函式將它們縮短,該函式按照指定的精度四捨五入到乙個浮點數。只要傳入要捨入的數字,再加上可選的第二個引數,指明需要傳入到小數點後多少位。如果省略第二個引數,round 將數字四捨五入...