That is just what happens to 1.0 under promotion to a symbolic object -- it behaves differently than the integer 1. Try `typeof` on the output to see that the values are not floating point or integers, but symbolic. The `N` function tries to map symbolic numbers back into Julia values.
For your original problem, there is a unicode comparison for < (\ll[tab]) which calls SymPy's `Lt` operation. You could use that perhaps: julia> Sym(2) < 3 false julia> Sym(2) ≪ 3 # or Lt(Sym(2), 3) True On Monday, July 20, 2015 at 9:21:14 AM UTC-4, Thanh Nguyen wrote: > > Oops, you said that subs(f2(x), x, 1) is a symbolic value, then why > followings: > > subs(f2(x), x, 1)+1. ==> 3.0000000000 > subs(f2(x), x, 1)+1 ==> 3 > > Thank you. > >
