
In Python, puoi ottenere una stringa str in un intero int e un numero in virgola mobile float con int() e float().
In questo articolo vengono descritti i seguenti contenuti.
- Converti una stringa in int:
int()
- Converti una stringa in float:
float()
- Converti una stringa di notazione binaria, otale ed esadecimale in int
- Converti una stringa di notazione esponenziale in float
Usa str() per un numero intero o in vir mobile in una stringa.
Puoi anche aggiungere un elenco di stringhe in un elenco di numeri. Vedi il seguente articolo.
Converti una stringa in int:int()
int() converte una stringa in un intero int.
print(int('100'))
print(type(int('100')))
# 100
# <class 'int'>
Una stringa contenente . o , genera un errore.
# print(int('1.23'))
# ValueError: invalid literal for int() with base 10: '1.23'
# print(int('10,000'))
# ValueError: invalid literal for int() with base 10: '10,000'
Una stringa separata da virgole può essere convertita cancellando , con replace() (sostituisci con la stringa vuota ”).
print(int('10,000'.replace(',', '')))
# 10000
Vedere il seguente articolo per sostituire().
Converti una stringa in float:float()
float() converte una stringa in un numero in virgola mobile float.
print(float('1.23'))
print(type(float('1.23')))
# 1.23
# <class 'float'>
È anche possibile una stringa senza la parte intera.
print(float('.23'))
# 0.23
Anche una stringa che rappresenta un numero intero viene convertita in un numero a virgola mobile float.
print(float('100'))
print(type(float('100')))
# 100.0
# <class 'float'>
Converti una stringa di notazione binaria, otale ed esadecimale in int
Se si passa un numero di base al secondo argomento di int(), una stringa viene trattata come binaria, otale ed esadecimale.
print(int('100', 2))
print(int('100', 8))
print(int('100', 16))
# 4
# 64
# 256
Se omesso, viene considerato decimale, come negli esempi precedenti.
print(int('100', 10))
print(int('100'))
# 100
# 100
Se la base è 0, viene convertita in base al prefisso della stringa (0b, 0o, 0x o 0B, 0O, 0X).
print(int('0b100', 0))
print(int('0o100', 0))
print(int('0x100', 0))
# 4
# 64
# 256
I prefissi e gli alfabeti esadecimali possono essere scritti sia in maiuscolo che in minuscolo.
print(int('FF', 16))
print(int('ff', 16))
# 255
# 255
print(int('0xFF', 0))
print(int('0XFF', 0))
print(int('0xff', 0))
print(int('0Xff', 0))
# 255
# 255
# 255
# 255
Per ulteriori informazioni sull’interconversione di stringhe binarie, ottali ed esadecimali e int, vedere l’articolo seguente.
Converti una stringa di notazione esponenziale in float
Una stringa di notazione esponenziale può essere convertita in float con float().
print(float('1.23e-4'))
print(type(float('1.23e-4')))
# 0.000123
# <class 'float'>
print(float('1.23e4'))
print(type(float('1.23e4')))
# 12300.0
# <class 'float'>
Puoi usare sia e che E.
print(float('1.23E-4'))
# 0.000123