Truncar float em Python

Syed Moiz Haider 30 janeiro 2023
  1. Truncar um float em Python usando a função round()
  2. Truncar um float em Python usando a função int()
  3. Truncar um float em Python usando a função str()
Truncar float em Python

Este tutorial explicará vários métodos para truncar um float em Python. O truncamento float é usado para tornar o cálculo mais fácil. Podemos truncar um float eliminando os dígitos restantes ou arredondando-o. Veremos os dois métodos neste tutorial.

Truncar um float em Python usando a função round()

A função round(number, n) pega um número como entrada e o arredonda para n casas decimais.

No caso de desejarmos truncar o float arredondando-o, podemos fazê-lo usando a função round() em Python. O código de exemplo a seguir demonstra como usar a função round() para truncar um float.

print(round(1923334567124, 4))
print(round(2345.1252342, 4))
print(round(192.67, 4))

Resultado:

1923334567124
2345.1252
192.67

Truncar um float em Python usando a função int()

Suponha que desejemos truncar um float simplesmente descartando os dígitos restantes após n casas decimais. Podemos fazer isso multiplicando primeiro o float com 10**n onde n é o número de dígitos do float que queremos manter após o decimal. Em seguida, converta-o em um inteiro e divida-o com o mesmo valor 10**n. Podemos então convertê-lo novamente em um flutuador.

O código de exemplo a seguir demonstra como truncar um float eliminando o dígito restante usando a função int() em Python.

def truncate(num, n):
    integer = int(num * (10 ** n)) / (10 ** n)
    return float(integer)


print(truncate(1923334567124, 4))
print(truncate(2345.1252342, 4))
print(truncate(192.67, 4))

Resultado:

1923334567124.0
2345.1252
192.6699

Truncar um float em Python usando a função str()

Também podemos truncar um float eliminando os dígitos restantes após n casas decimais, primeiro convertendo-o em uma string.

Depois de converter o float em uma string, podemos procurar o ponto decimal . na corda; se existir, podemos manter os n dígitos após ele ou flutuar completo se tiver menos de n dígitos após a vírgula decimal.

O código de exemplo a seguir demonstra como usar a função str() para truncar um float em Python.

def truncate(num, n):
    temp = str(num)
    for x in range(len(temp)):
        if temp[x] == ".":
            try:
                return float(temp[: x + n + 1])
            except:
                return float(temp)
    return float(temp)


print(truncate(1923334567124, 4))
print(truncate(2345.1252342, 4))
print(truncate(192.67, 4))

Resultado:

1923334567124.0
2345.1252
192.67
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

Artigo relacionado - Python Float