MidpointRounding Wyliczenie

Definicja

Określa strategię używaną przez metody zaokrąglania matematycznego w celu zaokrąglenia liczby.

public enum MidpointRounding
[System.Runtime.InteropServices.ComVisible(true)]
public enum MidpointRounding
Dziedziczenie
MidpointRounding
Atrybuty

Pola

AwayFromZero 1

Strategia zaokrąglania do najbliższej liczby, a gdy liczba jest w połowie między dwiema innymi, jest zaokrąglona w kierunku najbliższej liczby, która jest od zera.

ToEven 0

Strategia zaokrąglania do najbliższej liczby, a gdy liczba jest w połowie między dwiema innymi, jest zaokrąglona w kierunku najbliższej liczby parzysnej.

ToNegativeInfinity 3

Strategia zaokrąglania skierowanego w dół, z wynikiem najbliżej i nie większe niż nieskończonie precyzyjny wynik.

ToPositiveInfinity 4

Strategia zaokrąglania skierowanego w górę, z wynikiem najbliżej i nie mniej niż nieskończonie precyzyjny wynik.

ToZero 2

Strategia ukierunkowana zaokrąglania w kierunku zera, z wynikiem najbliżej i nie większej wielkości niż nieskończonie precyzyjny wynik.

Przykłady

W poniższym przykładzie pokazano metodę Math.Round w połączeniu z wyliczeniem MidpointRounding :

decimal result;

// Round a positive value using different strategies.
// The precision of the result is 1 decimal place.

result = Math.Round(3.45m, 1, MidpointRounding.ToEven);
Console.WriteLine($"{result} = Math.Round({3.45m}, 1, MidpointRounding.ToEven)");
result = Math.Round(3.45m, 1, MidpointRounding.AwayFromZero);
Console.WriteLine($"{result} = Math.Round({3.45m}, 1, MidpointRounding.AwayFromZero)");
result = Math.Round(3.47m, 1, MidpointRounding.ToZero);
Console.WriteLine($"{result} = Math.Round({3.47m}, 1, MidpointRounding.ToZero)\n");

// Round a negative value using different strategies.
// The precision of the result is 1 decimal place.

result = Math.Round(-3.45m, 1, MidpointRounding.ToEven);
Console.WriteLine($"{result} = Math.Round({-3.45m}, 1, MidpointRounding.ToEven)");
result = Math.Round(-3.45m, 1, MidpointRounding.AwayFromZero);
Console.WriteLine($"{result} = Math.Round({-3.45m}, 1, MidpointRounding.AwayFromZero)");
result = Math.Round(-3.47m, 1, MidpointRounding.ToZero);
Console.WriteLine($"{result} = Math.Round({-3.47m}, 1, MidpointRounding.ToZero)\n");

/*
This code example produces the following results:

3.4 = Math.Round(3.45, 1, MidpointRounding.ToEven)
3.5 = Math.Round(3.45, 1, MidpointRounding.AwayFromZero)
3.4 = Math.Round(3.47, 1, MidpointRounding.ToZero)

-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)
-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)
-3.4 = Math.Round(-3.47, 1, MidpointRounding.ToZero)
*/

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi dotyczące interfejsu API dla midpointRounding.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0