我正在尝试对附加了单位的求解评估的输出进行舍入。
例如:
solve(Eq(x, 22/7 * seconds), x)[0]
输出:
3.14285714285714*s
是否可以在保留3.14*s
的情况下将其四舍五入为s
?
答案 0 :(得分:1)
SymPy表达式使用.evalf()
方法来近似数字。它接受一个可选参数n
,它指定近似表达式将包含的位数。
假设您的表达式包含在expr
变量中:
In [5]: expr
Out[5]: 3.14285714285714⋅s
In [6]: expr.evalf(n=10)
Out[6]: 3.142857143⋅s
In [7]: expr.evalf(n=2)
Out[7]: 3.1⋅s
In [8]: expr.evalf(n=3)
Out[8]: 3.14⋅s