Encontre o número de dígitos em um número em Python

Muhammad Maisam Abbas 30 janeiro 2023
  1. Encontre o número de dígitos dentro de um número com a função math.log10() em Python
  2. Encontre o número de dígitos dentro de um número com a função len() em Python
Encontre o número de dígitos em um número em Python

Este tutorial irá apresentar os métodos para contar o número de dígitos dentro de um número em Python.

Encontre o número de dígitos dentro de um número com a função math.log10() em Python

A função math.log10() dentro do módulo math do Python é usada para encontrar o log de base 10 para qualquer número especificado. Como os inteiros também estão na base 10, podemos obter o número de dígitos dentro do inteiro especificado com este método.

O trecho de código a seguir nos mostra como podemos encontrar o número de dígitos dentro de um número com a função math.log10().

import math

n = -10
if n > 0:
    digits = int(math.log10(n)) + 1
elif n == 0:
    digits = 1
elif n < 0:
    digits = int(math.log10(-n)) + 2
print(digits)

Resultado:

3

Calculamos o número de dígitos dentro do número -10 com a função math.log10() no código acima. Este código também trata o caso em que o número é 0, pois o log de 0 não pode ser calculado. Primeiro verificamos se o número é maior que 0. Se o número for maior que 0, calculamos os dígitos pegando o log e adicionando 1 ao resultado. Esse processo é feito porque o log de qualquer número é 1 a menos que o número de dígitos dentro desse número.

Se o número for igual a 0, definimos os dígitos iguais a 1. Se o número for menor que 0, calculamos o número de dígitos pegando o log do inverso aditivo desse número negativo e adicionando 2 ao resultado. No caso de números negativos, adicionamos um 1 extra porque consideramos o sinal - como um dígito neste exemplo. No final, imprimimos o número de dígitos na tela.

Esse método é ótimo para usar se quisermos determinar o número de dígitos dentro de um inteiro. No entanto, ele não funciona com números decimais ou quaisquer números com um ponto decimal flutuante.

Encontre o número de dígitos dentro de um número com a função len() em Python

A função len() é uma função embutida em Python usada para calcular o número de caracteres dentro de uma variável string. A função len() recebe uma string como parâmetro de entrada e retorna o número de caracteres dentro dessa string. Para calcular o número de dígitos dentro de um número usando a função len(), primeiro temos que converter esse número em uma string com a função str().

A função str() também é uma função embutida no Python usada para converter objetos de diferentes tipos em uma variável string. O seguinte trecho de código nos mostra como podemos encontrar o número de dígitos dentro de um número com a função len():

n = -100.90
digits = len(str(n))
print(digits)

Resultado:

6

Calculamos o número de dígitos dentro do número -100,90 com a função len() no código acima. Primeiro, convertemos o número em uma string usando a função str(). Depois disso, passamos a string resultante para a função len() e armazenamos os valores retornados pela função len() dentro da variável digits. No final, imprimimos o valor dentro da variável digits. A saída mostra claramente que essa abordagem também é aplicável para números decimais ou números que contêm um ponto decimal flutuante.

O método len() é muito superior ao método math.log10() para encontrar o número de dígitos dentro de um número decimal em Python. A razão é que o método len() é claro, conciso e também lida com pontos decimais flutuantes, ao contrário do método math.log10(), que é desnecessariamente complexo e não lida com pontos decimais flutuantes.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Python Number