gpt4 book ai didi

Python decimal.Decimal - getcontext().prec 设置和输出中的小数位数

转载 作者:行者123 更新时间:2023-12-02 00:30:17 25 4
gpt4 key购买 nike

我想使用 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 库将用于返回任何计算数字的数字精度,即 prec = 2 将返回 2 位数字( first=2, second=2) 并且在 prec = 3 中将显示三个数字(first=2, second=1, third=5)。

不过,这里有个窍门。当您创建 a 和 b 变量时,Decimal 使用您提供给它的数字中的位数作为精度。你可以看到,只是在你的 IDLE 中调用 a 或 b。

关于Python decimal.Decimal - getcontext().prec 设置和输出中的小数位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com