首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sympy不处理浮点数

Sympy不处理浮点数
EN

Stack Overflow用户
提问于 2014-09-23 22:55:41
回答 3查看 223关注 0票数 0

基本上我写了这段代码..

代码语言:javascript
复制
import sympy
number = 5.62527e-11;
f = sympy.Symbol('f');
answer = sympy.solve(Eq(f,number),f);
print(answer);

不出所料,答案是"5.62527e-11“

但是,当我将"5.62527e-11“更改为"5.62527e-67”并运行相同的代码时,...i会得到0.0作为输出,这很尴尬...it对"e-11“有效,但对"e-67”无效。有人能解释一下为什么会发生这种情况吗..and有人能告诉我这个问题的解决方案...i需要一个解决方案吗

注意:上面的代码只是实际代码...and的一部分,我必须以同样的方式运行它,...so,有人能帮我处理这个数字吗?

提前感谢

EN

回答 3

Stack Overflow用户

发布于 2014-09-24 02:10:53

票数 1
EN

Stack Overflow用户

发布于 2014-09-23 23:18:30

浮点数的局限性是它们只能精确到小数点的某一位。我自己对你的问题很好奇,找到了https://docs.python.org/3/tutorial/floatingpoint.html

票数 0
EN

Stack Overflow用户

发布于 2014-09-25 09:11:40

使用符号而不是数字(如果需要,请在末尾替换它):

代码语言:javascript
复制
>>> from sympy import *
>>> number = Symbol('5.62527e-11')
>>> f = sympy.Symbol('f');
>>> sympy.solve(Eq(f,number),f)
[5.62527e-11]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25998314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档