Python, Determine if a string should be converted into Int or Float

ManuParra picture ManuParra · Mar 12, 2013 · Viewed 25.8k times · Source

I want to convert a string to the tightest possible datatype: int or float.

I have two strings:

value1="0.80"     #this needs to be a float
value2="1.00"     #this needs to be an integer.

How I can determine that value1 should be Float and value2 should be Integer in Python?

Answer

glglgl picture glglgl · Mar 12, 2013
def isfloat(x):
    try:
        a = float(x)
    except (TypeError, ValueError):
        return False
    else:
        return True

def isint(x):
    try:
        a = float(x)
        b = int(a)
    except (TypeError, ValueError):
        return False
    else:
        return a == b