Преобразовать строку в целое с десятичным в Python
У меня есть строка в формате: «nn.nnnnn» в Python, и я хотел бы преобразовать его в целое число.
Прямое преобразование не выполняется:
>>> 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'
Я могу преобразовать его в десятичную с помощью:
>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678
Я мог бы также разделить на ".", Затем вычесть десятичную дробь из нуля, а затем добавить это к целому числу ... чёрт.
Но я предпочел бы иметь его как int, без ненужных преобразований типов или маневрирования.