例如,有一条线'7+asin(0.8-0.3)'。如果你把它放在里面print(simplify(parse_expr()).evalf(32)),sympy会打印出以弧度为单位的反正弦值,但即使你用deg:方法填充该行'7+deg(asin(0.8-0.3))',输出结果还是37.000000000000001092276223729355,而预计它只是37。如何解决这个问题没有四舍五入?
例如,有一条线'7+asin(0.8-0.3)'。如果你把它放在里面print(simplify(parse_expr()).evalf(32)),sympy会打印出以弧度为单位的反正弦值,但即使你用deg:方法填充该行'7+deg(asin(0.8-0.3))',输出结果还是37.000000000000001092276223729355,而预计它只是37。如何解决这个问题没有四舍五入?
该表达式
'7 + asin(0.8 - 0.3)'包含实数小数。sympy在这种情况下,它会近似计算表达式。如果您要求sympy.simplify将小数表示为有理数(标志rational=True),结果将变得精确:或者你可以用普通小数替换小数:
作为替代想法(输出:37.0):