How to Convert String to Decimal in Python
-
Use the
float()
Function to Convert a String to Decimal in Python - Use Exception Handling Convert a String Containing a Comma to a String in Python
-
Use String Formatting Along With the
float()
Function to Convert a String to Decimal in Python - Use List Comprehension to Convert a List of Strings to Float in Python
-
Use
numpy.float()
Function to Convert a String to Decimal in Python -
Use the
astype()
Method From theNumPy
Library to Convert a String to Decimal in Python -
Use the
decimal
Module to Convert a String to Decimal in Python
Strings in Python can take numeric values. Similar to other popular programming languages, Python supports Integer and Floating-point (or decimal) numbers and has separate data types assigned for them. Sometimes, there is a need for converting the numeric values taken in a string to an integer or a floating-point number.
This tutorial will introduce how to convert a string to a decimal in Python.
Use the float()
Function to Convert a String to Decimal in Python
Python provides an in-built function called float()
that is utilized to transform a string or an integer to a floating-point value.
Here, we will enter a string and perform the float()
function on the given string.
The following code uses the float()
function to convert a string to decimal in Python.
a = "5.54"
x = float(a)
print(x)
The above code provides the following output:
5.54
Use Exception Handling Convert a String Containing a Comma to a String in Python
When a comma separates the numbers in the string and the float()
function is directly called on the string, then it gives a ValueError
.
The following example code will help you understand it better.
a = "1,5.54"
x = float(a)
print(x)
The above code provides the following output:
Traceback (most recent call last):
File "<string>", line 2, in <module>
ValueError: could not convert string to float: '1,5.54'
We can take a quick detour from the original code and use exception handling in this code to avoid this.
The try...except
statement is utilized for the purpose of exception handling in Python. The try...except
statement is divided into three blocks; all three of the blocks have a different purpose.
- The
try
block contains the cluster of code to be tested for any errors. - The
except
block is used to add exceptions and handle the errors of the code. - The
finally
block contains the statements that need to be executed and is ignored by thetry
andexcept
blocks.
The following code utilizes exception handling on the original code given above to convert a string to decimal in Python.
a = "1,5.54"
try:
x = float(a)
except ValueError:
print("Invalid Float number to be converted. ")
The above code provides the following output:
Invalid Float number to be converted.
Use String Formatting Along With the float()
Function to Convert a String to Decimal in Python
In a given string, if we want to specify the number of decimal points that we want to have in the floating-point variable, then we can use string formatting along with the in-built float()
function.
The following code uses string formatting to convert a string to decimal in Python.
a = "5.54231"
x = float(a)
x = "{:.2f}".format(x)
print(x)
The above code provides the following output:
5.54
Use List Comprehension to Convert a List of Strings to Float in Python
List comprehension is a relatively shorter and very graceful way to create lists that are to be formed based on given values of an already existing list.
We can use list comprehension and convert all the values within the list to floating-point values using the float()
method in the list comprehension.
The following code uses list comprehension to convert a list of strings to float in Python.
lst = ["1.22", "5.54", "6.858"]
x = [float(i) for i in lst]
print(x)
The above code provides the following output.
[1.22, 5.54, 6.858]
Use numpy.float()
Function to Convert a String to Decimal in Python
The term NumPy
is an acronym for Numerical Python. This library makes the use of arrays possible in Python. It also provides functions that help in manipulating these arrays.
The numpy.float()
function works similarly to the in-built float()
function in Python, with the only difference being that the numpy.float()
function is made to work with arrays. It always generates an array of floating-point values.
The following code uses the numpy.float()
function to convert a string to decimal in Python.
import numpy as np
lst = ["1.22", "5.54", "6.858"]
print(list(np.float_(lst)))
The above code provides the following output:
[1.22, 5.54, 6.858]
Use the astype()
Method From the NumPy
Library to Convert a String to Decimal in Python
The NumPy
library contains an in-built astype()
method that assists in converting the data type of the given NumPy
array.
The following code uses the astype()
method from the NumPy
library to convert a string to decimal in Python.
import numpy as np
a = np.array(["1.22", "5.54", "6.858"])
x = a.astype(float)
print(x)
The above code provides the following output:
[1.22 5.54 6.858]
Use the decimal
Module to Convert a String to Decimal in Python
The decimal
module supplies functions that perform faster operations than the stock floating-point functions.
The decimal.Decimal()
function, which is a constructor, takes input as a numeric value and carries out the process to convert it to a decimal type, which is ideal for storing and representing the numeric values meanwhile strictly preserving the precision of the number.
The following code uses the decimal
module to convert a string to decimal in Python.
from decimal import Decimal
a = "5.54262"
x = Decimal(a)
print(x)
The above code provides the following output:
5.54262
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedInRelated Article - Python String
- How to Remove Commas From String in Python
- How to Check a String Is Empty in a Pythonic Way
- How to Convert a String to Variable Name in Python
- How to Remove Whitespace From a String in Python
- How to Extract Numbers From a String in Python
- How to Convert String to Datetime in Python