旗木稻草 发表于 2021-8-6 09:47:52

【小白求助】精确计算浮点数

请各位老师帮忙看看:
第一个为什么会报错:
import decimal as d
a = d.Deciaml(0.1) + d.Deciaml(0.1) + d.Deciaml(0.1) - d.Deciaml(0.3)
print(a)
报错:
Traceback (most recent call last):
File "D:\python\课后练习8----浮点数运算.py", line 4, in <module>
    a = d.Deciaml(0.1)+d.Deciaml(0.1)+d.Deciaml(0.1)-d.Deciaml(0.3)
AttributeError: module 'decimal' has no attribute 'Deciaml'

第二个为什么结果不是0.2?
>>> import decimal as d
>>> x = d.Decimal(0.1)
>>> x+x
Decimal('0.2000000000000000111022302463')

逃兵 发表于 2021-8-6 09:47:53

本帖最后由 逃兵 于 2021-8-6 09:56 编辑

单词拼错了
Decimal
import decimal as d
a = d.Decimal(0.1) + d.Decimal(0.1) + d.Decimal(0.1) - d.Decimal(0.3)
print(a)


因为浮点数据本身就不准确

得用字符串

李天豪 发表于 2021-8-6 16:41:53

第一个的Decimal拼错了,
另外,Decimal()里的数要有引号
页: [1]
查看完整版本: 【小白求助】精确计算浮点数