Using Python 2.1 on Win32: int( (2.3 - 2) * 1000 ) = 299 int( .3 * 1000 ) = 300 What am I missing? The first one seems too simple to expect a rounding error :)