Python comes with a built-in function `float()`

that can convert a valid string and integer number to Python floating-point number. Python float numbers represent decimal numbers or real numbers that provide more precision to the numeric value.

In Python programming, we have different data types to represent different types of data values. For example we have `int`

type to represent integer numbers, `str`

type to represent string or character sequences, `complex`

to represent complex numbers, and `float`

to represent decimal or floating-point numbers.

To know more about all the data types of Python click here.

In this tutorial, we will walk through the Python floating-point numbers and discuss how to use the inbuilt `float()`

function to convert a string or integer value to a floating-point number.

**Python Float**

In Python, there are two data types that represent numerical values `int`

and `float`

. The `int`

datatype is used to store integer values from positive infinity to negative infinity. And the `float`

data type is used to store real numbers or decimal numbers from positive infinity to negative infinity.

Python uses the 64-bit double-precision values to store floating-point numbers and the maximum floating-point value could be `1.8 x 10`

which can also be represented as ^{308}`float('inf')`

float infinity.

**Example**

# integer number int_num = 30 # float num float_num = 30.0 print("The Type of int_num is:", type(int_num)) print("The Type of float_num is: ", type(float_num))

**Output**

The Type of int_num is: <class 'int'> The Type of float_num is: <class 'float'>

In this example, the value of `int_num`

is `30`

and the value of `float_num`

is `30.0.`

The value of both the variables is equal even if we try to perform an equal to comparison operation between the two we will find that the result is True.

The only difference between the two values is the decimal point and this distinguishes their data type. A floating-point number always has a decimal point and an int value don’t.

### Python Float function

In Python we have the concept of type conversion, using which we can convert the data type of one object to another, using some built-in Python functions.

`float()`

is also one of the Python type conversion inbuilt functions, that can convert the numeric value of string and integer value to a floating-point number.

**syntax**

float(number)

**return value **

The `float()`

object does not convert the actual variable to the float, instead it converts the copy of the value and returns it.

**Example**

# convert an integer to float int_num = 30 # convert the integer into float float_num = float(int_num) print(f"int_num ==> {int_num}; float_num == {float_num}")

**Output**

int_num ==> 30; float_num == 30.0

### Convert an integer number into Float

If a number is of integer data type we can convert it into float using the `float()`

function.

The `float()`

function will put a `.0`

value after the integer number and the number will be converted into the float.

**Example**

# convert a integer to float int_num = 30 # convert the integer into float float_num = float(int_num) print(f"int_num ==> {int_num}; float_num == {float_num}")

**Output**

int_num ==> 30; float_num == 30.0

As we already know that the `float()`

function does not change the actual variable object instead it works on the copy of object value and return the result.

There is also a trick to convert a Python integer number into a floating-point number without using the float function.

All we need to do is add `0.0`

to the integer number and because of Python implicit type conversion property we will receive a floating-point number, as a result.

**Example **

# convert a integer to float int_num = 30 # convert the integer into float without using float()float_num = int_num + 0.0print(f"int_num ==> {int_num}; float_num == {float_num}")

**output**

int_num ==> 30; float_num == 30.0

### Convert a String value to float

We can also convert the valid string numerical value to floating-point numbers using the `float()`

function.

**syntax**

float('number')

**Example**

# string number string_num = '-30.74' # convert the string number into float using float() float_num = float(string_num) print(f"int_num ==> {string_num}; float_num == {float_num}")

**Output**

int_num ==> -30.74; float_num == -30.74

If we try to convert an invalid string value into the float that contains any letter and special symbols (except underscore), we would receive the `ValueError`

.

**Example**

# invalid string number string_num = '-30.74o' # convert the string number into float using float() float_num = float(string_num) print(f"int_num ==> {string_num}; float_num == {float_num}")

**Output**

Traceback (most recent call last): File "main.py", line 5, in <module> float_num = float(string_num)ValueError: could not convert string to float: '-30.74o'

The last character of `string_num`

is `o`

which is a letter and the `float()`

function cannot convert letter values to floating values.

**Infinity and Not a Number in Float.**

There are three special string letters that can converted into float using `float()`

function.

`'Infinity'`

to represent the infinite numbers.`'inf'`

same as infinity.`'nan'`

not a number.

We can only use the float function on these three special string character values to convert them into a floating-point number.

**Example**

# positive infinite number max_number = float('inf') # negetive infinite number min_number = float('-Infinity') # not a number nan = float('nan') print('Max Number:', max_number) print('Min Number:', min_number) print('Not a Number:', nan)

**output**

Max Number: inf Min Number: -inf Not a Number: nan

**Convert Boolean values to float Number**

There are two boolean values in Python `True`

and `False`

. And when we try to convert them into a floating-point number using `float()`

function True became `1.0`

and False become `0.0`

.

**Example**

# true value true = float(True) # false value false = float(False) print('True Number:', true) print('False Number:', false)

**Output**

True Number: 1.0 False Number: 0.0

This is also why Python treat `0`

as a Falsey Value.

## Wrapping Up!

Python floating points numbers bring more precision to the numeric data values. And as a Python developer, you will be working more with floating-point numbers as compared to integers. Also with the help of Python `float()`

the function we can convert the data type of boolean, string and integer to a floating-point number, which makes it easy for us to convert the data type of the value.

**People are also reading:**