Trova il numero di cifre in un numero in Python

Muhammad Maisam Abbas 30 gennaio 2023
  1. Trova il numero di cifre all’interno di un numero con la funzione math.log10() in Python
  2. Trova il numero di cifre all’interno di un numero con la funzione len() in Python
Trova il numero di cifre in un numero in Python

Questo tutorial introdurrà i metodi per contare il numero di cifre all’interno di un numero in Python.

Trova il numero di cifre all’interno di un numero con la funzione math.log10() in Python

La funzione math.log10() all’interno del modulo math di Python viene utilizzata per trovare il log di base 10 per qualsiasi numero specificato. Poiché anche gli interi sono in base 10, con questo metodo possiamo ottenere il numero di cifre all’interno dell’intero specificato.

Il seguente frammento di codice ci mostra come possiamo trovare il numero di cifre all’interno di un numero con la funzione 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)

Produzione:

3

Abbiamo calcolato il numero di cifre all’interno del numero -10 con la funzione math.log10() nel codice sopra. Questo codice gestisce anche il caso in cui il numero è 0, poiché il log di 0 non può essere calcolato. Per prima cosa controlliamo se il numero è maggiore di 0. Se il numero è maggiore di 0, calcoliamo le cifre prendendo il log e aggiungendo 1 al risultato. Questo processo viene eseguito perché il registro di qualsiasi numero è inferiore di 1 al numero di cifre all’interno di quel numero.

Se il numero è uguale a 0, impostiamo le cifre pari a 1. Se il numero è minore di 0, calcoliamo il numero di cifre prendendo il log dell’additivo inverso di quel numero negativo e aggiungendo 2 al risultato. Nel caso di numeri negativi, aggiungiamo un 1 in più perché consideriamo il segno - come una cifra in questo esempio. Alla fine, stampiamo il numero di cifre sullo schermo.

Questo metodo è ottimo da usare se vogliamo determinare il numero di cifre all’interno di un numero intero. Tuttavia, non funziona con i numeri decimali o con qualsiasi numero con virgola mobile.

Trova il numero di cifre all’interno di un numero con la funzione len() in Python

La funzione len() è una funzione incorporata in Python utilizzata per calcolare il numero di caratteri all’interno di una variabile stringa. La funzione len() accetta una stringa come parametro di input e restituisce il numero di caratteri all’interno di quella stringa. Per calcolare il numero di cifre all’interno di un numero utilizzando la funzione len(), dobbiamo prima convertire quel numero in una stringa con la funzione str().

La funzione str() è anche una funzione incorporata in Python utilizzata per convertire oggetti di tipo diverso in una variabile stringa. Il seguente frammento di codice ci mostra come possiamo trovare il numero di cifre all’interno di un numero con la funzione len():

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

Produzione:

6

Abbiamo calcolato il numero di cifre all’interno del numero -100.90 con la funzione len() nel codice sopra. Innanzitutto, abbiamo convertito il numero in una stringa utilizzando la funzione str(). Successivamente, abbiamo passato la stringa risultante alla funzione len() e memorizzato i valori restituiti dalla funzione len() all’interno della variabile digits. Alla fine, abbiamo stampato il valore all’interno della variabile digits. L’output mostra chiaramente che questo approccio è applicabile anche ai numeri decimali o ai numeri contenenti un punto decimale mobile.

Il metodo len() è di gran lunga superiore al metodo math.log10() per trovare il numero di cifre all’interno di un numero decimale in Python. Il motivo è che il metodo len() è chiaro, conciso e gestisce anche i decimali mobili a differenza del metodo math.log10(), che è inutilmente complesso e non gestisce i decimali mobili.

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

Articolo correlato - Python Number