Mam ciąg znaków w formacie: "nn.nnnnn" w języku Python, a ja chciałbym przekonwertować go na liczbę całkowitą.Konwertuj ciąg na liczbę całkowitą z dziesiętnym w języku Python
bezpośrednia konwersja nie powiedzie:
>>> 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 do postaci dziesiętnej za pomocą: „”
>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678
mogę również podzielić na, odejmujemy po przecinku od zera, a następnie dodać to do całej liczby ... fuj.
Ale wolałbym mieć to jako int, bez niepotrzebnych konwersji ani manewrów.
Matt, 23,45678 nie jest liczbą całkowitą. Jeśli chcesz, aby Python konwertował ciąg na liczbę całkowitą, upewnij się, że nadajesz mu liczbę całkowitą. Można argumentować w dowolny sposób na temat "właściwej" rzeczy, aw końcu ktoś będzie nieszczęśliwy. – Christopher