Bisher würde ich int(float('3.5'))
Python: Convert 3.5 'auf ganzzahlige
irgendeine andere gute Weise tun zu tun?
Hinweis: 3,5 ist eine Zeichenfolge.
Ich möchte die integrierte API verwenden, die für diese Art von Problem angeben.
Bisher würde ich int(float('3.5'))
Python: Convert 3.5 'auf ganzzahlige
irgendeine andere gute Weise tun zu tun?
Hinweis: 3,5 ist eine Zeichenfolge.
Ich möchte die integrierte API verwenden, die für diese Art von Problem angeben.
Sie sind auf dem richtigen Weg und die beste Lösung ist wahrscheinlich wie erwähnt:
>>> int(float("3.5"))
Diese den Schwimmer abschneidet.
Wenn Sie eine andere Art von Rundungs wollen, können Sie das math
Paket verwenden:
>>> import math
>>> x = "3.5"
>>> math.floor(float(x)) # returns FP; still needs to be wrapped in int()
3.0
>>> math.ceil(float(x)) # same
4.0
>>> math.trunc(float(x)) # returns an int; essentially the same as int(float(x))
3
Wenn auf der anderen Seite Sie die Zahl auf die nächste ganze Zahl abzurunden möchten, können Sie die Floating-Point verwenden integrierte Operation round
vor der Umwandlung in eine ganze Zahl, z
>>> int(round(float(x))) # 3.5 => 4
4
>>> int(round(3.4999))
3
Alles, was Sie brauchen, ist int(3.5)
Beachten Sie, dass diese abschneidet; es rundet nicht.
3.5 ist eine Zeichenfolge, sorry, ich habe es nicht klar gesagt. – user469652
>>> int ('3.5') Traceback (letzter Aufruf zuletzt): Datei "/var/apache2/2.2/htdocs/try.py", Zeile 146, in Wrapper Wert, wantmore = evaluate (Quelle, hisvars) File "/var/apache2/2.2/htdocs/try.py", Zeile 126, zu bewerten in value = eval (code, hisvars) File "
Eigentlich nicht - in diesem Fall würde ich die Methode in Ihrem Beitrag verwenden. Andernfalls erhalten Sie 'ValueError: ungültiges Literal für int() mit Basis 10: '3.5'' – Hut8
Der einzige Code, der möglicherweise einfacher und klarer als das, was Sie haben, ist int('3.5')
, die nicht funktioniert. Was Sie also haben, ist der einfachste und klarste Arbeitscode.
Vielleicht int(eval('3.5'))
Ich würde sagen, das ist eine schlechte Idee, da in der Regel eval ziemlich hässlich sein kann. Wenn es andere Optionen als eval gibt, sollten sie wahrscheinlich zuerst berücksichtigt werden. –
Ich stimme zu. Ich habe gerade versucht, Alternativen zu geben. –
Was meinst du mit "gut"? –