鱼C论坛

 找回密码
 立即注册
查看: 1600|回复: 2

[已解决]【小白求助】精确计算浮点数

[复制链接]
发表于 2021-8-6 09:47:52 | 显示全部楼层 |阅读模式
5鱼币
请各位老师帮忙看看:
第一个为什么会报错:
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)

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

得用字符串

最佳答案

查看完整内容

单词拼错了 Decimal 因为浮点数据本身就不准确 得用字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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)

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

得用字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-6 16:41:53 | 显示全部楼层
第一个的Decimal拼错了,
另外,Decimal()里的数要有引号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 19:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表