Trouver le nombre de chiffres dans un nombre en Python

Muhammad Maisam Abbas 30 janvier 2023
  1. Trouver le nombre de chiffres à l’intérieur d’un nombre avec la fonction math.log10() en Python
  2. Trouver le nombre de chiffres à l’intérieur d’un nombre avec la fonction len() en Python
Trouver le nombre de chiffres dans un nombre en Python

Ce tutoriel présentera les méthodes pour compter le nombre de chiffres à l’intérieur d’un nombre en Python.

Trouver le nombre de chiffres à l’intérieur d’un nombre avec la fonction math.log10() en Python

La fonction math.log10() à l’intérieur du module math de Python est utilisée pour trouver le journal de base 10 pour tout nombre spécifié. Comme les entiers sont également en base 10, nous pouvons obtenir le nombre de chiffres à l’intérieur de l’entier spécifié avec cette méthode.

L’extrait de code suivant nous montre comment trouver le nombre de chiffres à l’intérieur d’un nombre avec la fonction 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)

Production:

3

Nous avons calculé le nombre de chiffres à l’intérieur du nombre -10 avec la fonction math.log10() dans le code ci-dessus. Ce code gère également le cas où le nombre est 0, car le log de 0 ne peut pas être calculé. Nous vérifions d’abord si le nombre est supérieur à 0. Si le nombre est supérieur à 0, nous calculons les chiffres en prenant le journal et en ajoutant 1 au résultat. Ce processus est effectué car le journal de n’importe quel nombre est inférieur de 1 au nombre de chiffres à l’intérieur de ce nombre.

Si le nombre est égal à 0, nous mettons les chiffres à 1. Si le nombre est inférieur à 0, nous calculons le nombre de chiffres en prenant le log de l’inverse additif de ce nombre négatif et en ajoutant 2 au résultat. Dans le cas de nombres négatifs, nous ajoutons un 1 supplémentaire car nous considérons le signe - comme un chiffre dans cet exemple. À la fin, nous imprimons le nombre de chiffres à l’écran.

Cette méthode est idéale à utiliser si nous voulons déterminer le nombre de chiffres à l’intérieur d’un entier. Cependant, cela ne fonctionne pas avec les nombres décimaux ou les nombres avec un point décimal flottant.

Trouver le nombre de chiffres à l’intérieur d’un nombre avec la fonction len() en Python

La fonction len() est une fonction intégrée à Python utilisée pour calculer le nombre de caractères à l’intérieur d’une variable string. La fonction len() prend une chaîne comme paramètre d’entrée et renvoie le nombre de caractères à l’intérieur de cette chaîne. Pour calculer le nombre de chiffres à l’intérieur d’un nombre à l’aide de la fonction len(), nous devons d’abord convertir ce nombre en chaîne avec la fonction str().

La fonction str() est également une fonction intégrée à Python utilisée pour convertir des objets de différents types en une variable string. L’extrait de code suivant nous montre comment trouver le nombre de chiffres à l’intérieur d’un nombre avec la fonction len() :

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

Production:

6

Nous avons calculé le nombre de chiffres à l’intérieur du nombre -100.90 avec la fonction len() dans le code ci-dessus. Tout d’abord, nous avons converti le nombre en chaîne à l’aide de la fonction str(). Après cela, nous avons passé la chaîne résultante à la fonction len() et stocké les valeurs renvoyées par la fonction len() à l’intérieur de la variable digits. Au final, nous avons imprimé la valeur à l’intérieur de la variable digits. La sortie montre clairement que cette approche est également applicable pour les nombres décimaux ou les nombres contenant une virgule décimale flottante.

La méthode len() est de loin supérieure à la méthode math.log10() pour trouver le nombre de chiffres à l’intérieur d’un nombre décimal en Python. La raison en est que la méthode len() est claire, concise et gère également les virgules flottantes contrairement à la méthode math.log10(), qui est inutilement complexe et ne gère pas les virgules flottantes.

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

Article connexe - Python Number