Stringa Python in Intero, Intero in Stringa

Nel seguente tutorial, impareremo come convertire una stringa Python in un numero intero e un intero in una stringa in Python. Nel nostro tutorial precedente, abbiamo appreso la funzione Python List append.

Python String to Int

Se hai letto i nostri tutorial precedenti, potresti aver notato che a volte abbiamo utilizzato questa conversione. In realtà, ciò è necessario in molte situazioni. Ad esempio, se stai leggendo alcuni dati da un file, saranno in formato stringa e dovrai convertirli in un intero. Ora andremo direttamente al codice. Se desideri convertire un numero rappresentato come stringa in un intero, devi utilizzare la funzione int(). Guarda l’esempio seguente:

num = '123'  # string data

# stampa il tipo

print('Type of num is :', type(num))

# converti usando int()

num = int(num)

# stampa il tipo again

print('Now, type of num is :', type(num))

L’output del codice seguente sarà

Type of num is : <class 'str'>
Now, type of num is : <class 'int'>
Python String To Int

Conversione di una stringa in un intero da una base diversa

Se la stringa che desideri convertire in int appartiene a una base diversa da quella base 10, puoi specificare la base per la conversione. Ma ricorda che l’intero di output è sempre in base 10. Un’altra cosa da ricordare è che la base fornita deve essere compresa tra 2 e 36. Guarda l’esempio seguente per comprendere la conversione di stringa in int con l’argomento della base.

num = '123'
# stampa la stringa originale
print('The original string :', num)

# considerando '123' essere in base 10, convertilo in base 10

print('Base 10 to base 10:', int(num))

# considerando '123' essere in base 8, convertilo in base 10

print('Base 8 to base 10 :', int(num, base=8))

# considerando '123' essere in base 6, convertilo in base 10

print('Base 6 to base 10 :', int(num, base=6))

Il risultato del codice seguente sarà

Python Convert String To Int With Base

Errore di valore durante la conversione di String in int

Durante la conversione da stringa a intero potresti ottenere un ValueError eccezione. Questa eccezione si verifica se la stringa che desideri convertire non rappresenta alcun numero. Supponi di voler convertire un numero esadecimale in un intero. Ma non hai passato l’argomento base=16 nella funzione int(). Solleverà un’eccezione ValueError se c’è qualche cifra che non appartiene al sistema numerico decimale. L’esempio seguente illustrerà questa eccezione durante la conversione di una stringa in intero.

"""
    Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12'  # this is a hexadecimal value

# la variabile è considerata come valore decimale durante la conversione
print('The value is :', int(num))

# la variabile è considerata come valore esadecimale durante la conversione
print('Actual value is :', int(num, base=16))

"""
    Scenario 2: The interpreter will raise ValueError exception
"""

num = '1e'  # this is a hexadecimal value

# la variabile è considerata come valore esadecimale durante la conversione
print('Actual value of \'1e\' is :', int(num, base=16))

# la variabile è considerata come valore decimale durante la conversione
print('The value is :', int(num))  # this will raise exception

L’output del codice sopra sarà:

The value is : 12
Actual value is : 18
Actual value of '1e' is : 30
Traceback (most recent call last):
  File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in 
    print('The value is :', int(num))  # this will raise exception
ValueError: invalid literal for int() with base 10: '1e'
Python String To Int ValueError

Python int to String

Convertire un int in stringa non richiede alcuno sforzo o controllo. Basta usare la funzione str() per fare la conversione. Vedi il seguente esempio.

hexadecimalValue = 0x1eff

print('Type of hexadecimalValue :', type(hexadecimalValue))

hexadecimalValue = str(hexadecimalValue)

print('Type of hexadecimalValue now :', type(hexadecimalValue))

L’output del codice seguente sarà:

Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>
Python Int To String Conversion

Ecco tutto sulla conversione di stringa Python in int e da int a stringa. Riferimento: Documentazione ufficiale di Python

Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string