Warum unterstützt Math.Round()
float
nicht?Warum unterstützt Math.Round() nicht float?
edit:
Menschen sollten nicht diese schließen stimmen. Es ist nicht Meinung basiert. Wie in den Kommentaren unten angegeben, gibt es einen echten technischen Grund, dass Math.Round
kein int zurückgibt, was bedeutet, dass große Gleitkommazahlen nicht in einer Ganzzahl ähnlicher Größe ohne Überlauf gespeichert werden können.
Also ich frage, ob es tatsächlich ein Grund ist, dass float
Überlastungen nicht in Math.Round
enthalten, Math.Ceil
, etc ..
Die Antwort kann nicht sein, aber das bedeutet nicht, diese Frage ist Meinung basiert .
Es ist ziemlich fraglich, dass es * double * unterstützt, da das Ergebnis nie genau ist. Sie würden nur noch 8 weitere Ziffern mit * float * erhalten. Kein Problem, da fast jede Sprache eine implizite Konvertierung von Float zu Double unterstützt. –
Die eigentliche Frage ist: __Warum gibt es nicht 'ìnt'? __ – TaW
@TaW Ich denke, die Antwort ist jedoch ziemlich einfach: Eine Gleitkommazahl kann viel größere Werte enthalten als ähnlich große Ganzzahlen. Wenn man also einen Float zu einem int runden würde, würde das zu einem Überlauf mit großen Zahlen führen. – bitwise