Open In App

Check if a Number is a Whole Number in Python

Last Updated : 25 Jan, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Share
Report
News Follow

Floating-point numbers in Python can sometimes pose challenges when you need to determine whether they represent whole numbers. Due to the inherent precision limitations of floating-point representation, comparing them directly for equality with integers may lead to unexpected results. In this article, we will explore some different methods to check if a float value is a whole number in Python.

Check If A Float Value Is A Whole Number

Below, we will explain some methods of How To Check If A Float Value Is A Whole Number in Python.

Check If A Float Value Is A Whole Number Using the is_integer()

In this example, below Python code below defines a function `is_whole_number_method1` that takes a number as input and returns `True` if the number is a whole number (integer), using the `is_integer()` method.

def is_whole_number_method1(number):
    return number.is_integer()

# Example
float_value = 7.0
result = is_whole_number_method1(float_value)
print(f"{float_value} is a whole number: {result}")

Output
7.0 is a whole number: True

Check If A Float Value Is A Whole Number Comparing with int()

In this example, below Python code defines a function `is_whole_number_method2` that checks if a number is a whole number by comparing it to its integer conversion. The example uses this method to verify if the float value 9.5 is a whole number and prints the result.

def is_whole_number_method2(number):
    return number == int(number)

# Example
float_value = 9.5
result = is_whole_number_method2(float_value)
print(f"{float_value} is a whole number: {result}")

Output
9.5 is a whole number: False

Check If A Float Value Is A Whole Number Using the % Operator

In this example, below Python code defines a function `is_whole_number_method3` that determines if a number is a whole number by checking if the remainder of its division by 1 is equal to 0. The example uses this method to evaluate if the float value 3.14 is a whole number and prints the result.

def is_whole_number_method3(number):
    return number % 1 == 0

# Example
float_value = 3.14
result = is_whole_number_method3(float_value)
print(f"{float_value} is a whole number: {result}")

Output
3.14 is a whole number: False

Check If A Float Value Is A Whole Number Using math.isclose()

In this example, below Python code introduces a function `is_whole_number_method4` that utilizes the `math.isclose` function to check if a number is approximately equal to its rounded version, thereby determining if it is a whole number. The example applies this method to assess if the float value 10.0001 is a whole number and prints the result.

import math

def is_whole_number_method4(number):
    return math.isclose(number, round(number))

# Example
float_value = 10.000
result = is_whole_number_method4(float_value)
print(f"{float_value} is a whole number: {result}")

Output
10.0 is a whole number: True

Conclusion

In conclusion, the provided Python code offers four different methods to check if a float value is a whole number. Each method leverages distinct approaches, such as utilizing built-in methods like is_integer(), direct comparison with the integer conversion, checking the remainder of division by 1, and employing the math.isclose function for approximate equality with the rounded version.


Similar Reads

three90RightbarBannerImg