Dela via


System.MidpointRounding-uppräkning

Den här artikeln innehåller ytterligare kommentarer till referensdokumentationen för det här API:et.

MidpointRounding Använd uppräkningen med lämpliga överlagringar av Math.Round, MathF.Roundoch Decimal.Round för att ge mer kontroll över avrundningsprocessen.

Det finns två övergripande avrundningsstrategier – avrunda till närmaste och riktad avrundning – och varje uppräkningsfält deltar i exakt en av dessa strategier.

Avrunda till närmaste heltal

Fält:

En avrunda-till-närmaste-åtgärd tar ett ursprungligt tal med en implicit eller angiven precision; den undersöker nästa siffra, som är vid den precisionen plus ett, och returnerar det närmaste talet med samma precision som det ursprungliga talet. För positiva tal, om nästa siffra är från 0 till 4, är det närmaste talet mot negativ oändlighet. Om nästa siffra är mellan 6 och 9 är det närmaste talet mot positiv oändlighet. För negativa tal, om nästa siffra är från 0 till 4, är det närmaste talet mot positiv oändlighet. Om nästa siffra är från 6 till 9 är det närmaste talet mot negativ oändlighet.

Om nästa siffra är från 0 till 4 eller 6 till 9 påverkar MidpointRounding.AwayFromZero och MidpointRounding.ToEven inte resultatet av avrundningsåtgärden. Men om nästa siffra är 5, vilket är mittpunkten mellan två möjliga resultat och alla återstående siffror är noll eller om det inte finns några återstående siffror, är det närmaste talet tvetydigt. I det här fallet kan lägena i MidpointRounding för avrunda till närmaste användas för att specificera om avrundningsoperationen ska returnera det närmaste talet bort från noll eller det närmaste jämna talet.

I följande tabell visas resultatet av avrundning av vissa negativa och positiva tal i samband med avrundningsalternativ till närmaste. Precisionen som används för att avrunda talen är noll, vilket innebär att talet efter decimaltecknet påverkar avrundningsåtgärden. För talet -2,5 är siffran efter decimaltecknet till exempel 5. Eftersom den siffran är mittpunkten kan du använda ett MidpointRounding värde för att fastställa resultatet av avrundningen. Om AwayFromZero anges returneras -3 eftersom det är det närmaste talet bort från noll med en precision på noll. Om ToEven anges returneras -2 eftersom det är det närmaste jämna talet med en precision på noll.

Ursprungligt tal 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

Riktad avrundning

Fält:

En riktad avrundningsåtgärd tar ett ursprungligt tal med implicit eller angiven precision och returnerar nästa närmaste tal i en specifik riktning med samma precision som det ursprungliga talet. Riktade lägen på MidpointRounding kontrollera vilket fördefinierat nummer avrundningen utförs mot.

I följande tabell visas resultatet av avrundning av vissa negativa och positiva tal beroende på riktade avrundningslägen. Precisionen som används för att avrunda talen är noll, vilket innebär att talet innan decimaltecknet påverkas av avrundningsåtgärden.

Ursprungligt tal 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