我试图通过使用不同的数字层次结构来克服Python的浮点子类的缺陷.但是以下代码:
from sympy import *
import sympy.core.numbers
f = 1.123456789
n = N(f, 8)
print n
print type(n)
sympy.core.numbers.Float.__str__ = lambda f: "{:.8f}".format(f)
print n
Run Code Online (Sandbox Code Playgroud)
产生错误:
AttributeError:'module'对象没有属性'numbers'
我怎么能克服这个?
这可以满足您的需要:
代码:
from sympy.core.numbers import Float
Float.__str__ = lambda f: "{:.8f}".format(float(f))
Run Code Online (Sandbox Code Playgroud)
测试代码:
from sympy import N
from sympy.core.numbers import Float
f = 1.123456789
n = N(f, 8)
Float.__str__ = lambda f: "{:.8f}".format(float(f))
print n
Run Code Online (Sandbox Code Playgroud)
结果:
1.12345679
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |