Heim > Backend-Entwicklung > C++ > Warum führt meine Division trotz ungleich Null-Eingaben zu Null?

Warum führt meine Division trotz ungleich Null-Eingaben zu Null?

Mary-Kate Olsen
Freigeben: 2025-01-29 11:36:10
Original
401 Leute haben es durchsucht

Why Does My Division Result in Zero Despite Non-Zero Inputs?

Unerwartete Null -Division -Ergebnisse: Eine häufige Fallstrick

Teilen von Zahlen können manchmal überraschende Ergebnisse liefern, z. B. Null, auch wenn beide Eingänge ungleich Null sind. Dies beruht häufig darauf, wie Programmiersprachen während der Berechnungen Datentypen umgehen.

Betrachten Sie dieses Code -Beispiel:

<code>decimal share = (18 / 58) * 100;</code>
Nach dem Login kopieren

Hier werden 18 und 58 als Ganzzahlen behandelt. Integer Division erzeugt immer ein ganzzahliges Ergebnis; Jeder fraktionale Teil wird abgeschnitten. Daher führt 18 durch 58 in 0.

Die Lösung besteht

<code>decimal share = (18m / 58m) * 100m;</code>
Nach dem Login kopieren
Das "M" -Suffix lässt die Zahlen ausdrücklich als Dezimalstellen aus. Dies zwingt eine Dezimalaufteilung und liefert das genaue Ergebnis ungleich Null. Diese einfache Änderung verhindert den Kürzungsfehler und löst das Problem.

Das obige ist der detaillierte Inhalt vonWarum führt meine Division trotz ungleich Null-Eingaben zu Null?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage