Heim >Backend-Entwicklung >C++ >Warum wird die C#-Ganzzahldivision abgerundet und wie kann ich sie vermeiden?
Divisionsabrundung in C#
Bei der Division in C# können Programmierer auf unerwartetes Abrundungsverhalten stoßen. Dieses Problem tritt auf, wenn eine ganzzahlige Division durchgeführt wird, was zum Verlust von Bruchteilen führt.
Betrachten Sie zur Veranschaulichung den folgenden Code:
double i; i = 200 / 3; // Integer division MessageBox.Show(i.ToString());
Dieser Code zeigt ein Meldungsfeld mit dem Wert an „66“. Das erwartete Ergebnis für 200 / 3 sollte jedoch 66,66666 sein...
Lösung: Doppelte Division verwenden
Um dieses Abrunden zu vermeiden und die Gleitkommagenauigkeit beizubehalten, Man sollte die Doppeldivision anstelle der Ganzzahldivision verwenden. Dies kann erreicht werden durch:
i = (double)200 / 3;
i = 200.0 / 3;
i = 200d / 3;
Durch die Verwendung der Doppeldivision führt der Divisionsoperator / eine Gleitkommadivision durch und behält dabei alle signifikanten Ziffern bei.
Das obige ist der detaillierte Inhalt vonWarum wird die C#-Ganzzahldivision abgerundet und wie kann ich sie vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!