Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |