Udostępnij przez


System.MidpointRounding typ wyliczeniowy

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

MidpointRounding Użyj wyliczenia z odpowiednimi przeciążeniami Math.Round, MathF.RoundiDecimal.Round, aby zapewnić większą kontrolę nad procesem zaokrąglania.

Istnieją dwie ogólne strategie zaokrąglania — zaokrąglanie do najbliższego i ukierunkowanego zaokrąglania — a każde pole wyliczania bierze udział w dokładnie jednej z tych strategii.

Zaokrąglaj do najbliższego

Pola:

Operacja zaokrąglania do najbliższej liczby przyjmuje oryginalną liczbę z niejawną lub określoną precyzją; sprawdza następną cyfrę, która znajduje się na miejscu o jeden wyższym niż określona precyzja, i zwraca najbliższą liczbę z taką samą precyzją jak oryginalna liczba. W przypadku liczb dodatnich, jeśli następna cyfra wynosi od 0 do 4, najbliższa liczba jest w kierunku nieskończoności ujemnej. Jeśli następna cyfra wynosi od 6 do 9, najbliższa liczba jest w kierunku dodatniej nieskończoności. W przypadku liczb ujemnych, jeśli następna cyfra wynosi od 0 do 4, najbliższa liczba jest w kierunku dodatniej nieskończoności. Jeśli następna cyfra wynosi od 6 do 9, najbliższa liczba jest w kierunku nieskończoności ujemnej.

Jeśli następna cyfra wynosi od 0 do 4 lub od 6 do 9, wartość MidpointRounding.AwayFromZero oraz MidpointRounding.ToEven nie ma wpływu na wynik operacji zaokrąglania. Jeśli jednak następna cyfra to 5, czyli punkt środkowy między dwoma możliwymi wynikami, a wszystkie pozostałe cyfry są zerowe lub nie ma pozostałych cyfr, najbliższa liczba jest niejednoznaczna. W tym przypadku tryby zaokrąglania do najbliższej liczby w MidpointRounding umożliwiają określenie, czy operacja zaokrąglania zwraca najbliższą liczbę oddaloną od zera, czy najbliższą liczbę parzystą.

W poniższej tabeli przedstawiono wyniki zaokrąglania niektórych liczb ujemnych i dodatnich przy zastosowaniu metody zaokrąglania do najbliższej wartości. Precyzja używana do zaokrąglania liczb wynosi zero, co oznacza, że liczba po przecinku dziesiętnych wpływa na operację zaokrąglania. Na przykład dla liczby -2,5 cyfra po przecinku dziesiętnym wynosi 5. Ponieważ ta cyfra jest punktem środkowym, można użyć wartości MidpointRounding, aby określić wynik zaokrąglania. Jeśli AwayFromZero zostanie określona, zostanie zwrócona -3, ponieważ jest to najbliższa liczba od zera z dokładnością do zera. Jeśli ToEven zostanie określona, zostanie zwrócona -2, ponieważ jest to najbliższa liczba parzysta z dokładnością do zera.

Oryginalna liczba 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

Zaokrąglanie skierowane

Pola:

Operacja zaokrąglania skierowanego przyjmuje oryginalną liczbę z niejawną lub określoną precyzją i zwraca następną najbliższą liczbę w określonym kierunku z taką samą dokładnością jak liczba oryginalna. Tryby skierowane na MidpointRounding sterowanie określają kierunek, w którym odbywa się zaokrąglanie do wstępnie zdefiniowanej liczby.

W poniższej tabeli przedstawiono wyniki zaokrąglania niektórych liczb ujemnych i dodatnich w połączeniu z trybami zaokrąglania skierowanego. Precyzja używana do zaokrąglania liczb wynosi zero, co oznacza, że liczba przed przecinkiem dziesiętnym jest wpływana przez operację zaokrąglania.

Oryginalna liczba 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