Python中的Decimal模塊是Python標準庫中的一個模塊,它提供了高精度的十進位數學計算。
一、Python Decimal函數
Decimal是Python中的內置類,它包含幾個常用的數學運算函數,常見的函數有:
from decimal import Decimal
# 加法
a = Decimal('1.11')
b = Decimal('2.22')
print(a + b) # 3.33
# 減法
a = Decimal('1.11')
b = Decimal('2.22')
print(a - b) # -1.11
# 乘法
a = Decimal('1.11')
b = Decimal('2.22')
print(a * b) # 2.4642
# 除法
a = Decimal('1.11')
b = Decimal('2.22')
print(a / b) # 0.5
二、Python Decimal轉float
將Decimal類型轉換為float類型需要使用float()函數,示例代碼如下:
from decimal import Decimal
a = Decimal('1.11')
b = float(a)
print(b)
三、Decimal函數用法
Decimal類的構造函數是Decimal(value),其中value是一個字元串或一個數字。示例代碼如下:
from decimal import Decimal
a = Decimal('1.11')
b = Decimal(1.11)
print(a, b)
輸出結果為:
1.11 1.110000000000000088817841970012523233890533447265625
在上面的代碼中,a是使用字元串作為構造函數的參數,b是使用數字作為參數,我們可以發現使用字元串的方式比使用數字的方式更加準確。
四、Decimal庫
Decimal庫包含了很多數學計算相關的函數,如精度的設置、四捨五入等。Decimal庫的使用需要注意精度的設置,示例代碼如下:
from decimal import Decimal, getcontext
getcontext().prec = 4 # 設置精度為4位
a = Decimal('1.123456')
b = Decimal('2.234567')
print(a + b) # 3.358
在上面的代碼中,getcontext().prec = 4表示設置精度為4位,結果為3.358。
五、Python Decimal改成bigint
Python的Decimal類型支持使用int()函數進行轉換,示例代碼如下:
from decimal import Decimal
a = Decimal('12345678901234567890')
b = int(a)
print(b)
輸出結果為:
12345678901234567890
六、Python Decimal用法
Python的Decimal類型可以進行加、減、乘、除和取冪運算,示例代碼如下:
from decimal import Decimal
a = Decimal('1.23')
b = Decimal('4')
print(a + b) # 5.23
print(a - b) # -2.77
print(a * b) # 4.92
print(a / b) # 0.3075
print(a ** b) # 2.197375886724476570612993681
七、Python Decimal模塊
Python Decimal模塊提供了一些關於運算的特殊函數,如平方根、對數等。示例代碼如下:
from decimal import Decimal, sqrt, log
a = Decimal('16')
print(sqrt(a)) # 4.0
print(log(a)) # 2.772588722239781237668928485
八、Python Decimal保留2位小數
Python Decimal用quantize函數可以保留指定位數的小數,示例代碼如下:
from decimal import Decimal, ROUND_HALF_UP
a = Decimal('1.234')
b = a.quantize(Decimal('0.00'), rounding=ROUND_HALF_UP)
print(b) # 1.23
在上面的代碼中,ROUND_HALF_UP表示四捨五入,保留兩位小數後結果為1.23。
九、Decimal在Python中的含義
Decimal是Python中的內置類,它提供了高精度的十進位數學計算。在工程中,經常需要進行精度較高的數值計算,Decimal就是為了解決這個問題而被加入到Python中的。
十、Python Decimal轉字元串
將Decimal類型轉換為字元串類型需要使用str()函數,示例代碼如下:
from decimal import Decimal
a = Decimal('1.11')
b = str(a)
print(b)
輸出結果為:
1.11
十一、總結
Python的Decimal模塊提供了高精度的十進位數學計算,適用於需要精度較高的數值計算。在實際使用中,需要注意精度的設置,以及使用quantize函數進行舍入。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/206171.html
微信掃一掃
支付寶掃一掃