compactInteger should not show any decimal part for abs(n) < 1000

fixes #52
This was suggested by @mingfang . I think this behavior makes sense since, for n where abs(n) < 1000, any digits after the decimal are invariably `0`'s and leave the meaning of the expression unchanged. It's certainly in line with the spirit of `compactInteger` :wink: 

@b-ash @hijonathan what do you folks think about this?