The result is a little strange, but in general when you are working with floating point numbers the distinction between <
and <=
is not so clear. Using Rationalize
gives the result you expect:
Reduce[Rationalize[(k + 12541)*3.97 - 452.25 < 228660.42],
k, Integers]
I assume that Reduce
does an automatic rationalization too, but it must be doing something slightly different.