簡體   English   中英

Python decimal.Decimal - getcontext().prec 設置和輸出中的小數位數

[英]Python decimal.Decimal - getcontext().prec setting and number of decimals in output

我想使用decimal.Decimal對轉換后的數字字符串進行算術運算。 無論轉換后的數字字符串有多少小數,我都希望返回有兩位小數。

在這種特殊情況下,為什么兩個小數精度給我一個小數返回,為什么三個小數精度給我我想要的返回(2 個小數 -> 2.15)

from decimal import *
getcontext().prec = 2
a = Decimal(x.replace(',','.'))
b = Decimal(y.replace(',','.'))
print(a), print(b), print(a-b)
>>> 2.60 0.45 2.2

getcontext().prec = 3
a = Decimal(x.replace(',','.'))
b = Decimal(y.replace(',','.'))
print(a, b, a-b)
>>> 2.60 0.45 2.15

getcontext().prec設置Decimal lib 將用於返回任何計算數字的數字精度,即 prec = 2 將返回 2 位數字(first=2,second=2),在 prec = 3 中將顯示三個數字(第一個 = 2,第二個 = 1,第三個 = 5)。

然而,這里有一個技巧。 當您創建 a 和 b 變量時,十進制使用您提供給它的數字的位數作為精度。 你可以看到在你的 IDLE 中只調用了 a 或 b。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM