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.AwayFromZero
MidpointRounding.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- |