In Python, quale è un modo pulito ed elegante per convertire stringhe come "1,374" o "21.000.000" in valori int come 1374 o 21000000?Come convertire una stringa numerica con virgole valore-posizione in un numero intero?
7
A
risposta
9
Dipende davvero da dove ottieni il tuo numero.
Se il numero che si sta tentando di convertire viene da input dell'utente, utilizzare locale.atoi()
. In questo modo, il numero verrà analizzato in modo coerente con le impostazioni dell'utente e quindi con le aspettative.
Se invece lo leggi, diciamo, da un file, che utilizza sempre lo stesso formato, usa int("1,234".replace(",", ""))
o int("1.234".replace(".", ""))
a seconda della situazione. Questo non è solo più facile da leggere ed eseguire il debug, ma non è influenzato dalle impostazioni locali dell'utente, quindi il parser funzionerà su qualsiasi sistema.
4
locale.atoi()
, dopo aver impostato una locale appropriata.
2
int("1,374".replace(",",""))
2
>>> s="1,374"
>>> import locale
>>> locale.setlocale(locale.LC_NUMERIC, '')
'en_US.UTF-8'
>>> locale.atoi(s)
1374
Problemi correlati
- 1. Come analizzare la stringa numerica contenente le virgole in un numero intero in java?
- 2. Come convertire una stringa numerica in numero (decimale) e numero in stringa
- 3. Come convertire una stringa in numero intero in VHDL?
- 4. Python: Convertire una stringa in un numero intero
- 5. Postscript: come convertire un intero in stringa?
- 6. Come convertire un numero intero in serie
- 7. Come convertire la stringa in numero intero in C#
- 8. Coffeescript: come posso convertire una stringa in un numero?
- 9. Come posso convertire una stringa esadecimale ASCII in un numero intero con segno
- 10. Come convertire un valore intero in stringa?
- 11. Come convertire la stringa in numero intero nel modello velocità?
- 12. Come convertire stringa in intero in powershell
- 13. Come convertire la stringa in numero intero in UNIX
- 14. Convertire un intero grande in una stringa esadecimale in Javascript
- 15. Come convertire un intero in una stringa in modo flessibile?
- 16. Converti numero intero in stringa
- 17. Convertire un intero grande in una stringa intera in PHP
- 18. Converti numero stringa in numero intero
- 19. Convertire un numero intero in un numero float in Golang
- 20. Come convertire da una stringa in un numero intero in Visual Basic?
- 21. Come convertire un numero intero in una stringa in VBA di Excel?
- 22. Come convertire una stringa binaria in un numero intero 10 di base in Java
- 23. Converti un numero intero in una stringa senza allocare memoria
- 24. groovy converti stringa "1,503" in numero intero
- 25. Numero separato con virgole su una stringa iOS
- 26. Convertire una stringa con una rappresentazione esadecimale di un doppio IEEE-754 nella variabile numerica JavaScript
- 27. Come convertire un numero intero in una stringa di byte di lunghezza variabile?
- 28. convertire un intero in una stringa in Erlang
- 29. Come convertire una stringa in numero in un modello freemarker
- 30. Una stringa numerica come chiave di array in PHP
+1 Questo è migliore di sostituire le virgole con vuoti corde, perché in alcune zone virgole vengono usati come separatori decimali, mentre periodi giocano la parte di delimitare le migliaia, milioni ecc – Tarydon
Dipende cosa stai cercando di analizzare. Input dell'utente? O un file con un formato fisso (ad esempio un CSV che si ottiene da un sistema legacy)? Non lo stesso. Vedi la mia risposta qui sotto. – ibz