pythontype-conversiondecimal-point

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


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?


Solution

  • 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