Ich bekomme einen Float, indem ich zwei Zahlen dividiere. Ich weiß, dass die Zahlen teilbar sind, also habe ich immer eine Ganzzahl, nur vom Typ float. Ich brauche jedoch einen tatsächlichen Int-Typ. Ich weiß, dass int()
die Dezimalstellen streift (d. H. Bodenrundung). Ich bin besorgt, da Schwimmer sind nicht genau, wenn ich z. int(12./3)
oder int(round(12./3))
kann es als 3 statt 4 enden, weil die Gleitkommadarstellung von 4 3.9999999593519561 sein könnte (es ist nicht, nur ein Beispiel).Wird eine "Ganzzahl" float zu int immer die nächste ganze Zahl zurückgeben?
Wird dies jemals passieren und kann ich sicherstellen, dass es nicht geschieht?
(Ich frage, weil während ein numpy Array Umformen, ich eine Warnung bekam zu sagen, dass die Form ganzer Zahlen sein müssen, nicht schwimmt.)
Warum verwenden Sie nicht einfach Ganzzahldivision? – lejlot
Ja, ich habe gerade gleich nach der Veröffentlichung daran gedacht. War im Begriff, die Frage zu aktualisieren, aber ich lasse deinen Kommentar stattdessen sprechen. – cmeeren
Wenn ich z.B. 3,5/0,5 dann ist das nicht möglich. (Ich tue nicht, ich dividiere zwei ganze Zahlen, aber um der Argumentation willen ...) – cmeeren