【问题标题】:is there a way to round the numbers in sympy expression有没有办法在 sympy 表达式中舍入数字
【发布时间】:2022-07-19 21:42:03
【问题描述】:

您好,我正在使用 sympy 来求解一些方程,它给了我这样的输出。

{P1:30.0000000000000,P2:60.0000000000000}

1.40765765765766e-18**x**4 - 5.63063063063063e-15**x**3 + 1.40765765765766e-11*x**2 - 5.63063063063063e-9*x - 1.87687687687688e-7

如果数字已经是整数,我需要它使用零小数点 所以它变得像

{P1:30,P2:60} 如果数字不是整数,则四舍五入到小数点后两位

1.4e-18*x**4 - 5.63e-15**x**3 + 1.4e-11*x**2 - 5.63e-9*x - 1.87e-7

【问题讨论】:

    标签: python formatting rounding sympy


    【解决方案1】:

    sympi 的细节我不知道,但是对于数字,如果你使用 Python 的浮点表示:

       number = 3.128312563
       
       if number.is_integer():
           number = int(number)
       else:
           number = float(f"{number:.2e}")
    

    这将对数字进行四舍五入。具体如何在 sympy 中显示它们,您可以阅读手册 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多