Search code examples
pythonprecisionzerotrailing

Length of a float without trailing zeros (python)


I want to print the length of a float number without trailing zeros using python. examples:

0.001000 >>> I want to get length=5

0.000100 >>> I want to get length=6

0.010000 >>> I want to get length=4

any suggestions?


Solution

  • Converting a float to a str will automatically remove tailing zeros:

    numbers = [0.0010000, 0.00000000100, 0.010000]
    
    for number in numbers:
        number = '{0:.16f}'.format(number).rstrip("0")
        print(f"Converted to String: {str(number)} - Length: {len(str(number))}")
    

    Results:

    Converted to String: 0.001 - Length: 5
    Converted to String: 0.000000001 - Length: 11
    Converted to String: 0.01 - Length: 4