Floating point arithmetic isn't an exact science. The reason is that in memory, your precision is stored in binary (all powers of two). If it can't be represented by an exact power of two you can get some lost precision.
Your number, 1798.9999999999998
had enough lost precision that it didn't round up in the multiplication.