如何在 sympy(Python)中将 float 转换为 int?

How to cast float to int in sympy (of Python)?

我有一个 sympy Float 常量,例如

x=Float(3.2)

我需要将浮点数转换为整数,即

x+Int(3)

sympy中有没有内置的方法可以将Float(3.2)转换为Int(3)?

只需使用Integer()方法。它允许将 float 转换为 int。 Integer() 始终将浮点数降为圆形。

解释器示例:

>>> a = 3.2
>>> b = Integer(a)
>>> b
3

将浮点数转换为 SymPy 整数:

In [1]: a = 3.2

In [2]: b = Integer(a)

In [3]: b
Out[3]: 3

SymPy 整数在除法下表现数学

In [4]: b/2
Out[4]: 3/2

将相同的浮点数转换为 Python 整数:

In [5]: c = int(a)

In [6]: c  
Out[6]: 3

在Python3中或者使用future除法,可以取回一个浮点数:

In [7]: c/2
Out[7]: 1.5