避免 Decimal 精度溢出
发布于 | 2025-01-14 14:49 | ||
保质期 | 2028-01 | ||
新鲜度 | 100% |
声明
以下将 Decimal
称为十进制小数、将 float
称为二进制小数,因为 Python 中 Decimal
的小数点也是浮动的,所以不称定点数,也不使用浮点数这个说法,避免联想到定点数。
提示
从 Python 3.2 开始,Decimal
支持 float
类型的值作为入参,但无法将其还原为“字面值”。
python
from decimal import Decimal
print(Decimal(0.3))
# 打印 Decimal('0.299999999999999988897769753748434595763683319091796875')
str(3324*0.6) '1994.3999999999999'