Heim > Backend-Entwicklung > C++ > Warum wird die C#-Ganzzahldivision abgerundet und wie kann ich sie vermeiden?

Warum wird die C#-Ganzzahldivision abgerundet und wie kann ich sie vermeiden?

Mary-Kate Olsen
Freigeben: 2025-01-05 18:24:40
Original
762 Leute haben es durchsucht

Why Does C# Integer Division Round Down, and How Can I Avoid It?

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());
Nach dem Login kopieren

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:

  1. Konvertieren eines der Operanden in ein Double:
i = (double)200 / 3;
Nach dem Login kopieren
  1. Verwenden eines nachgestellten Dezimalpunkts in einem Operanden:
i = 200.0 / 3;
Nach dem Login kopieren
  1. Anhängen des d-Suffixes an eins Operand:
i = 200d / 3;
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage