System.MidpointRounding enum

Megjegyzés:

Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.

Használja az MidpointRounding enumerálást a megfelelő Math.Round, MathF.Round és Decimal.Round túlterhelésekkel, hogy biztosítsa a kerekítési folyamat jobb irányítását.

Két általános kerekítési stratégia létezik – a legközelebbi egészre és az irányított kerekítés –, és mindegyik enumerációs mező pontosan egy ilyen stratégiában vesz részt.

Kerekítés a legközelebbi értékre

Mezők:

A kerekítés a legközelebbi művelethez implicit vagy meghatározott pontosságú eredeti számot vesz fel; megvizsgálja a következő számjegyet, amely ezen a pontosságon plusz egy; és a legközelebbi számot adja vissza ugyanolyan pontossággal, mint az eredeti szám. Pozitív számok esetén, ha a következő számjegy 0 és 4 között van, a legközelebbi szám a negatív végtelen felé tart. Ha a következő számjegy 6 és 9 között van, a legközelebbi szám a pozitív végtelen felé tart. Negatív számok esetén, ha a következő számjegy 0 és 4 között van, a legközelebbi szám a pozitív végtelen felé tart. Ha a következő számjegy 6 és 9 között van, a legközelebbi szám a negatív végtelen felé tart.

Ha a következő számjegy 0–4 vagy 6–9 között van, akkor a MidpointRounding.AwayFromZeroMidpointRounding.ToEven kerekítési művelet eredményét nem befolyásolja. Ha azonban a következő számjegy 5, amely két lehetséges eredmény közötti középpont, és az összes többi számjegy nulla, vagy nincsenek még számjegyek, a legközelebbi szám nem egyértelmű. Ebben az esetben a kerekítési módok MidpointRounding lehetővé teszik annak megadását, hogy a kerekítési művelet a nullától legtávolabb eső legközelebbi számot vagy a legközelebbi páros számot adja eredményül.

Az alábbi táblázat néhány negatív és pozitív szám kerekítésének eredményeit mutatja be a legközelebbi egész számhoz való kerekítés módjaival együtt. A számok kerekítéséhez használt pontosság nulla, ami azt jelenti, hogy a tizedesvessző utáni szám hatással van a kerekítési műveletre. A -2,5 számnál például a tizedesvessző utáni számjegy 5. Mivel ez a számjegy a középpont, a kerekítés eredményét egy MidpointRounding érték használatával határozhatja meg. Ha meg van adva AwayFromZero, a -3 érték kerül visszaadásra, mert ez a legközelebbi szám a nullához nulla pontosság mellett. Ha a ToEven meg van adva, a -2 kerül visszaadásra, mert ez a legközelebbi páros szám nulla tizedesértékkel.

Eredeti szám 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

Irányított kerekítés

Mezők:

Az irányított kerekítési művelet implicit vagy meghatározott pontosságú eredeti számot vesz fel, és a legközelebbi számot egy adott irányban adja vissza, ugyanolyan pontossággal, mint az eredeti szám. Irányított módok MidpointRounding, amelyek meghatározzák, hogy egy előre definiált szám felé végezze a kerekítést.

Az alábbi táblázat néhány negatív és pozitív szám kerekítésének eredményeit mutatja be az irányított kerekítési módokkal együtt. A számok kerekítéséhez használt pontosság nulla, ami azt jelenti, hogy a tizedesvessző előtti számot befolyásolja a kerekítési művelet.

Eredeti szám 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