Gleitkommazahlen präzise auf zwei Dezimalstellen kürzen
Das direkte Abschneiden von Gleitkommazahlen auf eine bestimmte Dezimalstelle ohne Rundung ist aufgrund der Art und Weise, wie Gleitkommazahlen gespeichert werden, schwierig. Standard-Rundungsmethoden führen häufig zu unerwünschten Rundungsfehlern.
Eine zuverlässige Methode zur genauen Kürzung umfasst die folgenden Schritte:
<code class="language-csharp">value = Math.Truncate(100 * value) / 100;</code>
Dieser Code multipliziert die Gleitkommazahl mit 100, verwendet Math.Truncate
, um den Bruchteil zu entfernen (effektiv abzuschneiden) und dividiert dann das Ergebnis durch 100, um die ursprüngliche Skala wiederherzustellen. Für 3,4679 ergibt dies korrekterweise 3,46.
Es ist wichtig, sich daran zu erinnern, dass Gleitkommazahlen nicht immer perfekte binäre Darstellungen haben. Daher kann es zu geringfügigen Abweichungen zwischen dem gekürzten Wert und dem theoretisch erwarteten Ergebnis kommen.
Das obige ist der detaillierte Inhalt vonWie kann ich Gleitkommazahlen genau auf zwei Dezimalstellen kürzen, statt sie zu runden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!