# How to Limit Floating Point Numbers to Two Decimal Places in Python

When working with floating-point numbers in Python, it’s often necessary to limit the number of decimal places to a specific number. In many cases, two decimal points are sufficient, particularly when working with currency, percentages, or any other application that requires accurate rounding. In this blog post, we will explore different ways to limit floats to two decimal points in Python.

## Method 1: Using the `round()` function

One of the easiest ways to limit floats to two decimal points is by using the built-in `round()` function. The `round()` function takes two arguments: the number to be rounded and the number of decimal places to round to.

Here’s an example of how to use the `round()` function to limit a float to two decimal points:

``````# Example 1 - using the round() function
num = 3.141592653589793
rounded_num = round(num, 2)
print(rounded_num)
``````

Output:

``````3.14
``````

In the above example, we passed the number `num` (which has many decimal places) to the `round()` function along with the number of decimal places we want to round to (2 in this case). The output of the `round()` function is the float `3.14`.

## Method 2: Using string formatting

Another way to limit floats to two decimal points in Python is by using string formatting. In Python, string formatting is a way of creating formatted strings by substituting values into placeholders in a string. We can use string formatting to round a float to two decimal places.

Here’s an example of how to use string formatting to limit a float to two decimal points:

``````# Example 2 - using string formatting
num = 3.141592653589793
formatted_num = "{:.2f}".format(num)
print(formatted_num)
``````

Output:

``````3.14
``````

In the above example, we used the `"{:.2f}"` format specifier to format the float `num` to two decimal places. The `".2f"` specifies that the number should be formatted to two decimal places. The output of the string formatting operation is the float `3.14`.

## Method 3: Using the `decimal` module

The `decimal` module in Python provides support for decimal floating-point arithmetic. It offers more precision than the built-in `float` type and is particularly useful for financial and monetary calculations where precision is critical. We can use the `decimal` module to limit a float to two decimal points.

Here’s an example of how to use the `decimal` module to limit a float to two decimal points:

``````# Example 3 - using the decimal module
from decimal import Decimal

num = 3.141592653589793
decimal_num = Decimal(num).quantize(Decimal('.01'))
print(decimal_num)
``````

Output:

``````3.14
``````

In the above example, we first imported the `Decimal` class from the `decimal` module. We then passed the float `num` to the `Decimal` constructor to convert it to a `Decimal` object. We then used the `quantize()` method to round the `Decimal` object to two decimal places. The output of the `quantize()` method is a `Decimal` object with the value `3.14`.

## Method 4: Using the `numpy` module

The `numpy` module is a popular Python library for scientific computing. It provides support for arrays and matrices and a wide range

of mathematical operations, including rounding. We can use the `numpy` module to limit a float to two decimal points.

Here’s an example of how to use the `numpy` module to limit a float to two decimal points:

``````# Example 4 - using the numpy module
import numpy as np

num = 3.141592653589793
numpy_num = np.round(num, 2)
print(numpy_num)
``````

Output:

``````3.14
``````

In the above example, we first imported the `numpy` module using the alias `np`. We then used the `np.round()` function to round the float `num` to two decimal places. The output of the `np.round()` function is the float `3.14`.

## Method 5: Using the `math` module

The `math` module is another built-in Python module that provides mathematical functions. The `math` module has a `floor()` function that rounds a number down to the nearest integer. We can use this function along with some simple arithmetic to round a float to two decimal points.

Here’s an example of how to use the `math` module to limit a float to two decimal points:

``````# Example 5 - using the math module
import math

num = 3.141592653589793
rounded_num = math.floor(num * 100) / 100
print(rounded_num)
``````

Output:

``````3.14
``````

In the above example, we first imported the `math` module. We then multiplied the float `num` by 100 to shift the decimal point two places to the right. We then used the `math.floor()` function to round the result down to the nearest integer. Finally, we divided the rounded number by 100 to shift the decimal point back to its original position. The output of this operation is the float `3.14`.

## Conclusion

In this blog post, we explored five different methods for limiting floats to two decimal points in Python. We looked at using the `round()` function, string formatting, the `decimal` module, the `numpy` module, and the `math` module. While each of these methods has its own advantages and disadvantages, they all provide a way to round floats to a specific number of decimal places.

Whether you’re working with currency, percentages, or any other application that requires accurate rounding, it’s important to know how to limit floats to two decimal points. With the methods described in this blog post, you should now be able to do just that.