×

Python Tutorial

Python Basics

Python I/O

Python Operators

Python Conditions & Controls

Python Functions

Python Strings

Python Modules

Python Lists

Python OOPs

Python Arrays

Python Dictionary

Python Sets

Python Tuples

Python Exception Handling

Python NumPy

Python Pandas

Python File Handling

Python WebSocket

Python GUI Programming

Python Image Processing

Python Miscellaneous

Python Practice

Python Programs

How to Check if a String is a Float in Python

Last Updated : April 28, 2025

In Python, a string can often be converted into an integer or a float. However, checking if a string can be interpreted as a valid float requires specific approaches. In this chapter, we will explore multiple methods to verify if a string is a float in Python.

Checking String is Float Using try-except with float() Function

You can convert a string to a float using the float() function inside a try-except block to check if it is a valid float.

Example

This example demonstrates using exception handling to check for float conversion.

def is_float(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

# Test cases
print(is_float("123.456"))  # True
print(is_float("abc"))      # False

The output of the above code would be:

True
False

Checking String is Float Using str.replace() and str.isdigit()

You can remove a decimal point from the string and use isdigit() to check if the remaining characters are all digits.

Example

This example demonstrates validating float format manually by checking for a single decimal point.

def is_float(s):
    if s.count('.') == 1:
        s = s.replace('.', '')
        return s.isdigit()
    return False

# Test cases
print(is_float("123.456"))  # True
print(is_float("123.45.6")) # False
print(is_float("abc"))      # False

The output of the above code would be:

True
False
False

Checking String is Float Using Regular Expressions (Regex)

You can use the re module with a regular expression pattern to check if a string matches the float format.

Example

This example demonstrates using regular expressions to match valid float patterns in strings.

import re

def is_float(s):
    pattern = r'^-?\d*(\.\d+)?$'
    return bool(re.match(pattern, s))

# Test cases
print(is_float("123.456"))  # True
print(is_float("-123.456")) # True
print(is_float("123."))     # False
print(is_float("abc"))      # False

The output of the above code would be:

True
True
False
False

Checking String is Float Using str.isnumeric() with Additional Checks

You can combine isnumeric() and manual decimal checks to create a simple float validator for basic cases.

Example

This example demonstrates a numeric check after removing one decimal point.

def is_float(s):
    if s.replace('.', '', 1).isnumeric() and s.count('.') < 2:
        return True
    return False

# Test cases
print(is_float("123.456"))  # True
print(is_float("123"))      # True
print(is_float("12.34.56")) # False

The output of the above code would be:

True
True
False

Exercise

Select the correct option to complete each statement about checking if a string is a float in Python.

  1. One simple way to check if a string can be converted to a float is to use a ___ block.
  2. Inside the try block, you attempt to convert the string using the ___ function.
  3. If a string cannot be converted to a float, a ___ exception is typically raised.

Advertisement
Advertisement

Comments and Discussions!

Load comments ↻


Advertisement
Advertisement
Advertisement

Copyright © 2025 www.includehelp.com. All rights reserved.