江湖散人 发表于 2021-4-20 16:52:42

浮点数的运算

a=1.1
b=2.2
from decimal import Decimal
print(Decimal(a) + Decimal(b))
print(Decimal('1.1') + Decimal('2.1'))

运行结果:
3.300000000000000266453525910
3.3


为啥不能直接传入参数呢?

wp231957 发表于 2021-4-20 17:11:08

第一个结果也是对的,只不过浮点数就这个样子
想要几位有效数字,可以自己约束一下

kogawananari 发表于 2021-4-20 17:14:33

第一个这么写低版本python会报错 只能传字符串进去的低版本用Decimal.from_float()才可以

柿子饼同学 发表于 2021-4-20 19:06:28

Decimal函数接的是字符串,你弄个浮点数好像不行
要不然你这样弄{:10_277:}
>>> import decimal as d
>>> a, b = '1.1', '2.2'
>>> print(d.Decimal(a) + d.Decimal(b))
3.3
页: [1]
查看完整版本: 浮点数的运算