n [1]: z = symbols('z')
In [2]: expr = 2*z
In [3]: e2 = expr.evalf()
In [4]: e2
Out[4]: 2.0⋅z
In [5]: def exact_float_to_int(x):
...: if isinstance(x, (float, Float)):
...: return Integer(x)
...: return x
...:
In [6]: from sympy.strategies.traverse import bottom_up
In [7]: bottom_up(exact_float_to_int)(e2)
Out[7]: 2⋅z