Freigeben über


System.MidpointRounding-Enumeration

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Verwenden Sie die MidpointRounding Enumeration mit entsprechenden Überladungen von Math.Round, MathF.Roundund Decimal.Round stellen Sie mehr Kontrolle über den Rundungsprozess bereit.

Es gibt zwei allgemeine Rundungsstrategien – rund um das nächste und gezielte Runden – und jedes Enumerationsfeld nimmt an genau einer dieser Strategien teil.

Auf nächstes Runden

Felder:

Bei einem Round-to-Nearest-Vorgang wird eine ursprüngliche Zahl mit impliziter oder angegebener Genauigkeit verwendet; untersucht die nächste Ziffer, die an dieser Genauigkeit plus eins liegt; und gibt die nächste Zahl mit der gleichen Genauigkeit wie die ursprüngliche Zahl zurück. Bei positiven Zahlen, wenn die nächste Ziffer zwischen 0 und 4 liegt, liegt die nächste Zahl in Richtung negative Unendlichkeit. Wenn die nächste Ziffer zwischen 6 und 9 liegt, ist die nächste Zahl in Richtung positive Unendlichkeit. Bei negativen Zahlen, wenn die nächste Ziffer zwischen 0 und 4 liegt, ist die nächste Zahl in Richtung positive Unendlichkeit. Wenn die nächste Ziffer zwischen 6 und 9 liegt, liegt die nächste Zahl in Richtung negative Unendlichkeit.

Wenn die nächste Ziffer zwischen 0 und 4 oder 6 bis 9 liegt, wirkt sich dies MidpointRounding.AwayFromZeroMidpointRounding.ToEven nicht auf das Ergebnis des Rundungsvorgangs aus. Wenn die nächste Ziffer jedoch 5 ist, der Mittelpunkt zwischen zwei möglichen Ergebnissen ist und alle neu Standard ziffern null sind oder keine neu Standard Ziffern vorhanden sind, ist die nächste Zahl mehrdeutig. In diesem Fall können Sie mit den Round-to-Nearest-Modi MidpointRounding angeben, ob der Rundungsvorgang die nächste Zahl von null oder der nächsten geraden Zahl zurückgibt.

Die folgende Tabelle zeigt die Ergebnisse der Rundung einiger negativer und positiver Zahlen in Verbindung mit round-to-nearest modi. Die Zum Runden der Zahlen verwendete Genauigkeit ist Null, was bedeutet, dass sich die Zahl nach dem Dezimalkomma auf den Rundungsvorgang auswirkt. Beispielsweise ist für die Zahl -2,5 die Ziffer nach dem Dezimalkomma 5. Da diese Ziffer der Mittelpunkt ist, können Sie einen MidpointRounding Wert verwenden, um das Ergebnis der Rundung zu bestimmen. Wenn AwayFromZero angegeben, wird -3 zurückgegeben, da es sich um die nächste Zahl von null mit einer Genauigkeit von Null handelt. Wenn ToEven angegeben, wird -2 zurückgegeben, da sie die nächste gerade Zahl mit einer Genauigkeit von Null ist.

Originalnummer AwayFromZero ToEven
3,5 4 4
2.8 3 3
2.5 3 2
2.1 2 2
-2.1 -2 -2
2,5- 3- -2
-2.8 3- 3-
3,5- -4 -4

Gerichtete Rundung

Felder:

Bei einem gerichtete Rundungsvorgang wird eine ursprüngliche Zahl mit impliziter oder angegebener Genauigkeit verwendet und die nächste nächste Zahl in einer bestimmten Richtung mit der gleichen Genauigkeit wie die ursprüngliche Zahl zurückgegeben. Gesteuerte Modi zum MidpointRounding Steuern, auf welche vordefinierte Zahl die Rundung ausgeführt wird.

In der folgenden Tabelle werden die Ergebnisse der Rundung einiger negativer und positiver Zahlen in Verbindung mit den Richtungsrundenmodi veranschaulicht. Die Zum Runden der Zahlen verwendete Genauigkeit ist Null, was bedeutet, dass die Zahl vor dem Dezimalkomma durch den Rundungsvorgang beeinflusst wird.

Originalnummer ToNegativeInfinity ToPositiveInfinity ToZero
3,5 3 4 3
2.8 2 3 2
2.5 2 3 2
2.1 2 3 2
-2.1 3- -2 -2
2,5- 3- -2 -2
-2.8 3- -2 -2
3,5- -4 3- 3-