Konvertieren von Zeichenfolge in Python in Long
Python bietet eine bequeme Methode, lang() zum konvertieren von string zu lang:
long('234')
; wandelt '234' in eine lange
Wenn der Benutzer die Tasten in 234.89 dann python wird eine Fehlermeldung hervorrufen:
ValueError: invalid literal for long()
with base 10: '234.89'
Wie sollten wir einen python-Programmierer Griffe Szenarien, in denen eine Zeichenfolge mit dezimaler Wert ?
Danke =)
InformationsquelleAutor der Frage zfranciscus | 2011-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
long
können nur string-Cabrios, die kann am Ende in einen zur Basis 10 Ziffern. So, die dezimal verursacht den Schaden. Was Sie tun können, ist,float
den Wert vor dem Aufruf derlong
. Wenn Ihr Programm auf Python 2.x", wobei " int " und " long-Differenz-Angelegenheiten, und Sie sind sicher, dass Sie nicht mit großen zahlen, Sie hätten auch einfach gut, mitint
um den Schlüssel als gut.So, die Antwort ist
long(float('234.89'))
oder es könnte nur seinint(float('234.89'))
wenn Sie nicht mit großen zahlen. Beachten Sie auch, dass dieser Unterschied nicht auftreten, in Python 3, weil int ist ein Upgrade auf lange standardmäßig. Alle ganzen zahlen sind lange in Python ist3, und rufen Sie covert nurint
InformationsquelleAutor der Antwort Senthil Kumaran
Gut, sehnt sich nicht halten kann aber nichts zahlen.
Eine Möglichkeit ist die Verwendung eines float:
float('234.89')
Die andere option ist, abschneiden, oder Runde. Die Konvertierung von float zu einem langen, schneidet für Sie:
long(float('234.89'))
InformationsquelleAutor der Antwort payne