I have numerical values that are loaded from a JSON
object and are therefore all strings.
I am having issues with making numerical comparisons with these strings. The following makes no sense to me and I was hoping one of you champions could explain..
In[2]: print '100' < '45'
True
In[3]: print '99' < '45'
False
Using Python 2.7
When comparing strings they're compared by the ascii value of the characters. '1'
has a value 49, and '4'
is 52. So '1'
is < '4'
. '9'
however is 57, so '9'
is > '4'
.
If you want to compare them numerically you could just int()
the strings first like:
print int('100') < int('45')