[pyar] invalid literal for int() with base 10

Matías Bellone matiasbellone en gmail.com
Sab Dic 17 14:29:25 ART 2011


On Sat, Dec 17, 2011 at 2:08 PM, Diego Uribe Gamez <
diego.uribe.gamez en gmail.com> wrote:

> Resulta que el problema que tengo es un poco complejo y es que la Lista
> que tengo contiene Strings pero en realidad son números.
>
> Intente la función normal de python para convertir todos los Strings en
> Enteros:
>
> for i in range(len(self.Cadenastring)):
>     self.Cadenapura = int(self.Cadenastring[i])
>
> Cadenastring = ['2', '012642000444971' , '151938.00' , '0440.132117',
> '0.0', '0.0', '171211', '5.5', ]
>
> *Error:*
> self.Cadenapura = int(self.Cadenastring[i])
> ValueError: invalid literal for int() with base 10: ''
>
> **
>

El error te lo dice todo: estás tratando de convertir a int una cadena
vacía:

>>> int("")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ''

Notá, además, que según la cadena que vos pasaste, también va a fallar en
los números no enteros:

>>> int("0.0")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '0.0'

Probablemente quieras pasarlo a float (este tampoco puede basarse en una
cadena vacía):

>>> float("0.0")
0.0
>>> float("")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: could not convert string to float:

O tal vez Decimal (que tiene el mismo problema con las cadenas vacías):

>>> from decimal import Decimal
>>> Decimal("0.0")
Decimal('0.0')
>>> Decimal("")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/decimal.py", line 548, in __new__
    "Invalid literal for Decimal: %r" % value)
  File "/usr/lib/python2.7/decimal.py", line 3866, in _raise_error
    raise error(explanation)
decimal.InvalidOperation: Invalid literal for Decimal: ''

Saludos,
Toote
-- 
Web: http://www.enespanol.com.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111217/f73f902d/attachment.html>


More information about the pyar mailing list