in reply to strange comparison results

A leading zero in literal indicates the number is octal.

22000 = 2*105 + 2*104
022000 = 2*85 + 2*84

That rule doesn't apply for string numification.

0+'22000' = 2*105 + 2*104
0+'022000' = 2*105 + 2*104
oct('22000') = 2*85 + 2*84
oct('022000') = 2*85 + 2*84