Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 1|Antwort: 0

[Tipps] .NET/C# verwendet Math.Rounds MidpointRounding für das Runden

[Link kopieren]
Veröffentlicht amVor 46 Sekunden | | | |
Anforderungen: Wird oft zum Runden verwendet und ist nicht sehr empfindlich gegenüber Präzisionsanforderungen.

Um zwei Dezimalstellen abzurunden, schrieb der Entwickler folgenden Code:
Der Code ist sehr einfach, EntwicklerDas tatsächliche Ergebnis war 12,12, was dem erwarteten Rundungsergebnis von 12,13 widersprach

Der Grund für dieses Ergebnis ist, dass Math.Round die Rundungsregel nicht standardmäßig verwendet, sondern Runden, um gerade zu werden.

Runden Sie auf fünf auf, um ein Paar zu bilden

Das sogenannte Runden von sechs auf fünf bedeutet, dass nach Bestimmung der signifikanten Ziffern, wenn die nächste signifikante Ziffer kleiner oder gleich 4 ist, sie nach unten abgerundet wird; wenn sie größer als oder gleich 6 ist, runden wir um eins auf. Wenn die nächste signifikante Ziffer 5 ist,

  • Wenn die Zahl vor 5 ungerade ist, runden Sie fünf auf und rücken Sie um eins voran
  • Wenn 5 vor einer geraden Zahl steht, überspringe 5 (0 ist gerade).

Statistisch ist das Runden auf gerade Grad genauer als das Runden von fünf, denn bei vielen Berechnungen kann das Runden von fünf zu eins zu einer größeren Zahl führen.

Zum Beispiel:

1,15+1,25+1,35+1,45 = 5,2

Wenn die signifikanten Ziffern eine Dezimalstelle sind, erhält man das Ergebnis nach dem Rundungsprinzip

1,2 + 1,3 + 1,4 + 1,5 = 5,4

Das Ergebnis, das durch Rundung auf fünf gerade Werte erzielt wird, ist

1,2 + 1,2 + 1,4 + 1,4 = 5,2

Dies zeigt, dass die Rundungsregel genauere Ergebnisse liefert.

Mathe-Runde.

Wie nutzt man also Math.Round, um die erwartete Rundung zu erreichen?

Tatsächlich bietet Math.Round in C# viele Überlastungsmethoden, darunter zwei Methoden:
Beide Methoden bieten einen dritten Parameter namens Modus, der eine Aufzählungsvariable von MidpointRounding mit zwei auswählbaren Werten ist

  • AwayFromZero – Aufrundung
  • ToEven – Rundung auf gerade Rundung

Wenn wir also ein ideales abgerundetes Ergebnis wollen, können wir folgenden Code verwenden:
MidpointRounding-Aufzählung, wie unten gezeigt:



Referenz:Der Hyperlink-Login ist sichtbar.




Vorhergehend:WITH (NOLOCK)-Optimierung für EF Core-Abfragen mit hoher Nebenläufigkeit
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com