Konvertieren Sie eine Zeichenfolge in eine Ganzzahl mit Dezimalzahl in Python

Ich habe eine Zeichenfolge im Format: 'nn.nnnnn' in Python, und ich möchte es in eine Ganzzahl konvertieren.

Direkte Konvertierung schlägt fehl:

>>> 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'

Ich kann es in eine Dezimalzahl umwandeln, indem ich verwende:

>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678

Ich könnte auch auf '.' Aufteilen, dann die Dezimalstelle von Null abziehen und diese dann zur ganzen Zahl addieren ... igitt.

Aber ich würde es vorziehen, es als Int zu haben, ohne unnötige Typumwandlungen oder Manöver.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage