Konwertuj ciąg znaków na liczbę całkowitą z dziesiętnym w Pythonie
Mam ciąg w formacie: „nn.nnnnn” w Pythonie i chciałbym go przekonwertować na liczbę całkowitą.
Bezpośrednia konwersja nie powiedzie się:
>>> 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'
Mogę przekonwertować go na dziesiętny, używając:
>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678
Mógłbym również podzielić się na '.', A następnie odjąć dziesiętny od zera, a następnie dodać to do całej liczby ... fuj.
Ale wolę mieć go jako int, bez zbędnych konwersji lub manewrowania.