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