Converter uma string para inteiro com decimal em Python
Eu tenho uma string no formato: 'nn.nnnnn' em Python e gostaria de convertê-lo em um inteiro.
A conversão direta falha:
>>> s = '23.45678'
>>> i = int(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '23.45678'
Eu posso convertê-lo em um decimal usando:
>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678
Eu também poderia dividir em '.', Então subtraia o decimal de zero, então acrescente isso ao número inteiro ... yuck.
Mas eu prefiro tê-lo como um int, sem conversões de tipo desnecessárias ou manobras.