System.MidpointRounding – výčet

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

MidpointRounding Použijte výčet s odpovídajícími přetíženími Math.Round, MathF.Rounda Decimal.Round poskytnout větší kontrolu nad procesem zaokrouhlování.

Existují dvě celkové strategie zaokrouhlování – zaokrouhlení na nejbližší a směrované zaokrouhlení – a každé pole výčtu se účastní přesně jedné z těchto strategií.

Zaokrouhlení na nejbližší

Pole:

Operace zaokrouhlení na nejbližší přebírá původní číslo s implicitní nebo zadanou přesností; zkontroluje další číslici, která je s danou přesností plus jedna; a vrátí nejbližší číslo se stejnou přesností jako původní číslo. U kladných čísel platí, že pokud je další číslice od 0 do 4, nejbližší číslo je směrem k zápornému nekonečnu. Pokud je další číslice od 6 do 9, nejbližší číslo je směrem k kladnému nekonečnu. U záporných čísel platí, že pokud je další číslice od 0 do 4, nejbližší číslo je směrem k kladnému nekonečnu. Pokud je další číslice od 6 do 9, nejbližší číslo je směrem k zápornému nekonečnu.

Pokud je další číslice od 0 do 4 nebo 6 až 9, MidpointRounding.AwayFromZeroMidpointRounding.ToEven nemá vliv na výsledek operace zaokrouhlení. Pokud je ale další číslice 5, což je střední bod mezi dvěma možnými výsledky a všechny zbývající číslice jsou nula nebo neexistují žádné zbývající číslice, nejbližší číslo je nejednoznačné. V tomto případě umožňují režimy MidpointRounding zaokrouhlení na nejbližší určit, jestli operace zaokrouhlování vrátí nejbližší číslo od nuly nebo nejbližší sudé číslo.

Následující tabulka ukazuje výsledky zaokrouhlení některých záporných a kladných čísel ve spojení s režimy zaokrouhlení na nejbližší. Přesnost použitá k zaokrouhlení čísel je nula, což znamená, že číslo za desetinnou čárkou ovlivňuje operaci zaokrouhlování. Například pro číslo -2,5 je číslice za desetinnou čárkou 5. Protože je tato číslice střední bod, můžete použít MidpointRounding hodnotu k určení výsledku zaokrouhlení. Pokud AwayFromZero je zadána hodnota -3, vrátí se hodnota -3, protože je nejbližší číslo od nuly s přesností nuly. Pokud ToEven je zadáno, vrátí se hodnota -2, protože se jedná o nejbližší sudé číslo s přesností nuly.

Původní číslo 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

Směrované zaokrouhlení

Pole:

Operace směrového zaokrouhlení přebírá původní číslo s implicitní nebo zadanou přesností a vrátí další nejbližší číslo v určitém směru se stejnou přesností jako původní číslo. Směrované režimy na ovládacím MidpointRounding prvku, ke kterému se provádí předdefinované číslo zaokrouhlení.

Následující tabulka ukazuje výsledky zaokrouhlení některých záporných a kladných čísel ve spojení s režimy směrového zaokrouhlení. Přesnost použitá k zaokrouhlení čísel je nula, což znamená, že číslo před desetinnou čárkou je ovlivněno operací zaokrouhlení.

Původní číslo 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