Encontrar el número de dígitos en un número en Python
-
Encuentre el número de dígitos dentro de un número con la función
math.log10()
en Python -
Encuentre el número de dígitos dentro de un número con la función
len()
en Python
![Encontrar el número de dígitos en un número en Python](/img/Python/feature-image---python-number-of-digits-in-a-number.webp)
Este tutorial presentará los métodos para contar la cantidad de dígitos dentro de un número en Python.
Encuentre el número de dígitos dentro de un número con la función math.log10()
en Python
La función math.log10()
dentro del módulo math
de Python se usa para encontrar el logaritmo de base 10 para cualquier número especificado. Como los enteros también están en base 10, podemos obtener el número de dígitos dentro del entero especificado con este método.
El siguiente fragmento de código nos muestra cómo podemos encontrar el número de dígitos dentro de un número con la función 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)
Producción :
3
Calculamos el número de dígitos dentro del número -10 con la función math.log10()
en el código anterior. Este código también maneja el caso donde el número es 0, ya que el logaritmo de 0 no se puede calcular. Primero verificamos si el número es mayor que 0. Si el número es mayor que 0, calculamos los dígitos tomando el registro y agregando 1 al resultado. Este proceso se realiza porque el registro de cualquier número es 1 menos que el número de dígitos dentro de ese número.
Si el número es igual a 0, establecemos los dígitos en 1. Si el número es menor que 0, calculamos el número de dígitos tomando el logaritmo del inverso aditivo de ese número negativo y sumando 2 al resultado. En el caso de números negativos, agregamos un 1 adicional porque consideramos el signo -
como un dígito en este ejemplo. Al final, imprimimos el número de dígitos en la pantalla.
Este método es excelente para usar si queremos determinar la cantidad de dígitos dentro de un número entero. Sin embargo, no funciona con números decimales o cualquier número con un punto decimal flotante.
Encuentre el número de dígitos dentro de un número con la función len()
en Python
La función len()
es una función incorporada en Python que se utiliza para calcular el número de caracteres dentro de una variable de cadena. La función len()
toma una cadena como parámetro de entrada y devuelve el número de caracteres dentro de esa cadena. Para calcular el número de dígitos dentro de un número usando la función len()
, primero tenemos que convertir ese número en una cadena con la función str()
.
La función str()
también es una función incorporada en Python que se utiliza para convertir objetos de diferentes tipos en una variable de cadena. El siguiente fragmento de código nos muestra cómo podemos encontrar el número de dígitos dentro de un número con la función len()
:
n = -100.90
digits = len(str(n))
print(digits)
Producción :
6
Calculamos el número de dígitos dentro del número -100,90 con la función len()
en el código anterior. Primero, convertimos el número en una cadena usando la función str()
. Después de eso, pasamos la cadena resultante a la función len()
y almacenamos los valores devueltos por la función len()
dentro de la variable digits
. Al final, imprimimos el valor dentro de la variable digits
. El resultado muestra claramente que este enfoque también es aplicable para números decimales o números que contienen un punto decimal flotante.
El método len()
es muy superior al método math.log10()
para encontrar el número de dígitos dentro de un número decimal en Python. La razón es que el método len()
es claro, conciso y también maneja puntos decimales flotantes a diferencia del método math.log10()
, que es innecesariamente complejo y no maneja puntos decimales flotantes.
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