Pular para o conteúdo principal
InicioTutoriaisPython

Como arredondar para duas casas decimais em Python

Aprenda a arredondar um número para duas casas decimais em Python para aumentar a precisão usando técnicas como round(), format() e técnicas de formatação de string.
Actualizado ago. de 2024  · 7 min leer

O arredondamento de números para duas casas decimais é uma técnica importante em Python. Ele é particularmente útil em cálculos financeiros, apresentação de dados e relatórios científicos.

O Python fornece uma variedade de métodos para arredondamento preciso. Neste tutorial, mostrarei a você como arredondar um número para duas casas decimais em Python usando funções internas, bibliotecas e métodos de formatação.

Se você está começando a trabalhar como analista de dados, recomendo que faça o curso Introdução ao Python da DataCamp para aprender os fundamentos do Python na manipulação e transformação de dados. Você também achará a Python Cheat Sheet for Beginners útil como uma referência rápida se precisar relembrar a sintaxe e as funções do Python.

Como arredondar um número para 2 casas decimais em Python

O método mais simples para arredondar um número para duas casas decimais em Python é usar a função integrada round(), que é bastante simples. 

# Using the round() function to round a number to two decimal places
rounded_number = round(3.14159, 2)

print(rounded_number)
3.14

Entendendo o arredondamento e as casas decimais

As casas decimais referem-se aos números que aparecem logo após o ponto decimal em um número. As casas decimais são importantes em um número, pois determinam sua precisão. Quanto maior o número de casas decimais, maior a precisão, e vice-versa.

O arredondamento de números refere-se ao ajuste de um número reduzindo o número de casas decimais. Essa técnica geralmente é aplicada para simplificar um número e, ao mesmo tempo, manter a consistência entre os cálculos. Ainda assim, o arredondamento de um número para casas decimais específicas afeta a precisão dos valores calculados devido à introdução de pequenos erros durante o arredondamento.

Métodos para arredondar para 2 casas decimais em Python

O Python fornece métodos diferentes para arredondar números para duas casas decimais. Os exemplos a seguir fornecem explicações detalhadas sobre essas técnicas.

Arredondar para 2 casas decimais usando a função round()

A função round() é a função integrada do Python para arredondar números de ponto flutuante para o número especificado de casas decimais. Você pode especificar o número de casas decimais a serem arredondadas fornecendo um valor no segundo argumento. O exemplo abaixo imprime 34,15.

# Example number to be rounded
number = 34.14559

# Rounding the number to 2 decimal places
rounded_number = round(number, 2)

print(rounded_number) 
34.15

A função round() do Python usa "round half to even" como seu modo de arredondamento padrão quando você omite o segundo argumento. O arredondamento da metade para o par (arredondamento dos banqueiros) é quando um número está exatamente na metade do caminho entre dois números inteiros e é arredondado para o número inteiro par mais próximo. Essa técnica é útil porque pode ajudar a minimizar os erros de arredondamento cumulativos.

Arredondar para 2 casas decimais usando técnicas de formatação de string

As técnicas de formatação de cadeia de caracteres são úteis para arredondar os números para duas casas decimais, especialmente ao exibir o número na saída.

Lembre-se de que, quando você usa técnicas de formatação de cadeia de caracteres em Python para arredondar um número, a saída arredondada é exibida como uma cadeia de caracteres, mas o número original permanece inalterado. Se você fizer contas com o número original, os cálculos serão baseados no valor não arredondado, o que pode levar a resultados surpreendentes.

Usando o operador %

O operador % oferece um método tradicional de formatação de números com duas casas decimais. O operador % permite que você crie cadeias de caracteres formatadas inserindo valores em espaços reservados.

No exemplo abaixo, f indica o valor como um número de ponto flutuante, enquanto .2 especifica as casas decimais para arredondar o número.

# Example number to be rounded
number = 3.14159

# Using the % operator to round to 2 decimal places
formatted_number = "%.2f" % number

print(formatted_number)
3.14

Usando str.format()

O método str.format() oferece uma maneira mais flexível de lidar com técnicas de arredondamento complexas. Como ele usa marcadores de posição nomeados, os desenvolvedores tendem a preferir esse método ao operador %. No exemplo abaixo, :.2f é usado entre colchetes para especificar que o número seja arredondado para duas casas decimais. O código imprimirá 3.14.

# Example number to be rounded
number = 3.14159

# Using str.format() to round to 2 decimal places
formatted_number = "{:.2f}".format(number)

print(formatted_number)
3.14

Usando f-strings (Python 3.6+)

As f-strings foram introduzidas no Python 3.6 e oferecem uma maneira concisa e eficiente de formatar strings e números. Esse método melhora a legibilidade e a manutenção do código ao incorporar as expressões diretamente nos literais de cadeia de caracteres. O código abaixo imprime 14.68.

# Example number to be rounded
number = 14.67856

# Using f-strings to round to 2 decimal places
formatted_number = f"{number:.2f}"

print(formatted_number)
14.68

Usando a função format()

A função format() é outra boa opção para a formatação de strings. A função format() pode manipular vários tipos de dados, inclusive floats, inteiros e strings. O código abaixo imprime 345.69.

# Example number to be rounded
number = 345.68776

# Using format() to round to 2 decimal places
formatted_number = "{:.2f}".format(number)

print(formatted_number)
345.69

Arredondar para 2 casas decimais usando o módulo math

O módulo math não oferece funções que arredondem diretamente os números para casas decimais específicas. No entanto, você pode combinar o módulo math e outras aritméticas para arredondar um número para duas casas decimais.

A função math.floor() é usada para arredondar um número para o inteiro mais próximo. Para arredondar um número para duas casas decimais, você o multiplica por 100, aplica a função math.floor() e divide por 100. O código abaixo imprime 15.43.

# Import math module
import math

# Example number to be rounded
number = 3.14159

# Using math.floor() to round down to 2 decimal places
rounded_down = math.floor(number * 100) / 100

print(rounded_down)
3.14

Da mesma forma, a função math.ceil() arredonda um número para o inteiro mais próximo. Para arredondar um número para duas casas decimais, multiplique-o por 100, aplique a função math.ceil() e divida por 100. O código abaixo imprime 3.15.

# Import the math module
import math

# Example number to be rounded
number = 3.14159

# Using math.ceil() to round up to 2 decimal places
rounded_up = math.ceil(number * 100) / 100

print(rounded_up)
3.15

Arredondar para 2 decimais usando o módulo decimal

O módulo decimal em Python é útil para arredondar números flutuantes para casas decimais precisas usando o método .quantize(). No exemplo abaixo, definimos a precisão como 0.01 para indicar que queremos arredondar o número para duas casas decimais.

# Import the decimal module
from decimal import Decimal

# Example number to be rounded
number = Decimal("18.73869")

# Define the rounding precision to 2 decimal places
precision = Decimal('0.01')

# Using the quantize method with ROUND_UP to round the number up to 2 decimal places
rounded_number = number.quantize(precision)

print(rounded_number)
18.74

Se você estiver procurando um comportamento específico de arredondamento para cima, consulte nosso último tutorial sobre Como arredondar um número em Python para saber mais sobre o uso dos módulos math e decimal e outras técnicas para garantir que o número seja sempre arredondado para cima, e não para baixo. Se você quiser entender mais sobre transformação de dados de forma mais geral, siga nosso programa de carreira de Analista de Dados com Python para aumentar suas habilidades analíticas.

Conclusão

O arredondamento de números para duas casas decimais é uma técnica importante para aumentar a precisão em cálculos financeiros e científicos. Neste artigo, discutimos os diferentes métodos de arredondamento de números para duas casas decimais, incluindo funções internas, técnicas de formatação de cadeia de caracteres e o módulo math. É importante que você entenda e selecione o método adequado com base nos requisitos específicos, como precisão e estilo de formatação. Recomendo que você pratique os diferentes métodos usando exemplos diferentes para entender melhor a melhor opção para seus casos de uso.

Se você quiser aprimorar suas habilidades em Python, confira nossos programas de habilidades Python Programming e Python Fundamentals, que oferecem um guia abrangente para você se tornar um programador proficiente. Nosso programa de carreira para desenvolvedor Python também foi criado para ajudar você a melhorar suas habilidades como desenvolvedor enquanto aprende estruturas de dados e algoritmos mais avançados.

Perguntas frequentes

Qual é a maneira mais simples de arredondar um número para duas casas decimais em Python?

A maneira mais simples de arredondar um número para duas casas decimais é usar a função integrada round().

Por que um número é arredondado para o inteiro mais próximo quando você usa a função round()?

O método padrão da função round() é arredondar metade para par. Para arredondar um número para duas casas decimais, você deve fornecer o segundo argumento como 2 na função, ou seja, round(3.14159, 2).

Como a função format() é usada para arredondar um número para duas casas decimais?

A função format() é usada para arredondar um número para o número especificado de casas decimais e exibi-lo em uma cadeia de caracteres formatada.

O que é a metade redonda para par?

O método de arredondamento da metade para o par ou arredondamento dos banqueiros envolve o arredondamento de um número exatamente na metade do caminho entre dois números inteiros para o número inteiro par mais próximo.

O módulo math permite que você arredonde um número para duas casas decimais em Python?

Você só pode usar as funções math.floor() e math.ceil() com outras aritméticas para arredondar um número para um número especificado de casas decimais.

Temas

Aprenda Python com a DataCamp

Course

Introduction to Python

4 hr
5.7M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

tutorial

Formatação de f-string em Python

Saiba mais sobre a técnica de formatação f-string no Python 3.6. Neste tutorial, você verá as vantagens que ele oferece e verá alguns exemplos de casos de uso.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

5 min

tutorial

Tutorial de funções Python

Um tutorial sobre funções em Python que aborda como escrever funções, como chamá-las e muito mais!
Karlijn Willems's photo

Karlijn Willems

14 min

tutorial

Python New Line: Métodos para formatação de código

Descubra como usar \n para inserir quebras de linha em cadeias de caracteres e instruções print(). Use o parâmetro end para manter a saída em uma única linha. Aprimore suas habilidades de manipulação de arquivos com o os.linesep para gerenciar texto em diferentes sistemas.
Samuel Shaibu's photo

Samuel Shaibu

8 min

tutorial

21 ferramentas essenciais do Python

Aprenda sobre as ferramentas Python essenciais para o desenvolvimento de software, raspagem e desenvolvimento da Web, análise e visualização de dados e aprendizado de máquina.
Abid Ali Awan's photo

Abid Ali Awan

6 min

tutorial

Tutorial de docstrings em Python

Saiba mais sobre os Docstrings do Python. Encontre diferentes exemplos e tipos de formatos de docstrings para Sphinx, Numpy e Pydoc.
Aditya Sharma's photo

Aditya Sharma

15 min

tutorial

Como aparar uma cadeia de caracteres em Python: Três métodos diferentes

Aprenda os fundamentos do corte de caracteres à esquerda e à direita de uma string em Python.
Adel Nehme's photo

Adel Nehme

5 min

See MoreSee More