Dezimalrundung in C# verstehen
Beim Durchführen von Divisionen in C# kann es vorkommen, dass das Ergebnis unerwartet abgerundet wird. Dieses Verhalten ist auf die Ganzzahldivision zurückzuführen, die die Standardoperation zum Dividieren ganzer Zahlen ist, wie im Beispiel:
double i; i = 200 / 3;
In diesem Fall ist das Ergebnis 66, obwohl das tatsächliche Divisionsergebnis 66,66666~ ist . Um dieses Abrunden zu vermeiden, können Sie alternative Divisionstechniken anwenden.
Ein Ansatz besteht darin, einen der Operanden explizit in ein Double umzuwandeln und so die Division mit dem Double-Divisionsoperator zu erzwingen:
i = (double)200 / 3;
Alternativ können Sie eine der Konstanten als Double deklarieren:
i = 200.0 / 3;
Oder Sie können das Suffix d verwenden, um a anzugeben Doppelliteral:
i = 200d / 3;
Indem Sie eine der Konstanten als Double deklarieren, stellen Sie sicher, dass der Doppeldivisionsoperator verwendet wird, wodurch Ganzzahlrundungen verhindert und der Dezimalwert erhalten bleibt.
Das obige ist der detaillierte Inhalt vonWarum rundet C# die Ganzzahldivision ab und wie kann ich das verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!