System.ArredondamentoDoMeio Enum

Observação

Este artigo fornece observações complementares à documentação de referência para esta API.

Utilize a MidpointRounding enumeração com sobrecargas apropriadas de Math.Round, MathF.Round e Decimal.Round para fornecer mais controle do processo de arredondamento.

Existem duas estratégias gerais de arredondamento — arredondamento para mais próximo e arredondamento direcionado — e cada campo de enumeração participa exatamente de uma dessas estratégias.

Arredondar ao valor mais próximo

Campos:

Uma operação de arredondamento para mais próximo utiliza um número original com uma precisão implícita ou especificada; examina o dígito seguinte, que está nessa precisão mais um; e devolve o número mais próximo com a mesma precisão do número original. Para números positivos, se o próximo dígito for de 0 a 4, o número mais próximo será em direção ao infinito negativo. Se o próximo dígito for de 6 a 9, o número mais próximo é em direção ao infinito positivo. Para números negativos, se o próximo dígito for de 0 a 4, o número mais próximo será em direção ao infinito positivo. Se o próximo dígito for de 6 a 9, o número mais próximo será em direção ao infinito negativo.

Se o dígito seguinte for de 0 a 4 ou de 6 a 9, o MidpointRounding.AwayFromZero e MidpointRounding.ToEven não afetará o resultado da operação de arredondamento. No entanto, se o dígito seguinte for 5, que é o ponto médio entre dois resultados possíveis, e todos os dígitos restantes forem zero ou não houver dígitos restantes, o número mais próximo é ambíguo. Nesse caso, os modos de arredondamento para o mais próximo em MidpointRounding permitem especificar se a operação de arredondamento retorna o número mais próximo afastado de zero ou o número par mais próximo.

A tabela seguinte demonstra os resultados do arredondamento de alguns números negativos e positivos utilizando os modos de arredondamento para o mais próximo. A precisão utilizada para arredondar os números é zero, o que significa que o número após a vírgula decimal afeta a operação de arredondamento. Por exemplo, para o número -2,5, o dígito após a vírgula decimal é 5. Como esse dígito é o ponto médio, você pode usar um MidpointRounding valor para determinar o resultado do arredondamento. Se AwayFromZero for especificado, -3 é retornado porque é o número mais próximo de zero com uma precisão de zero. Se ToEven for especificado, -2 é retornado porque é o número par mais próximo com uma precisão de zero.

Número original 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

Arredondamento direcionado

Campos:

Uma operação de arredondamento dirigido pega um número original com uma precisão implícita ou especificada e retorna o número seguinte mais próximo numa direção específica com a mesma precisão do número original. Os modos direcionados no MidpointRounding controlam para qual número predefinido o arredondamento é realizado.

A tabela abaixo demonstra os resultados do arredondamento de alguns números negativos e positivos usando modos de arredondamento direcionado. A precisão utilizada para arredondar os números é zero, o que significa que o número antes da vírgula decimal é afetado pela operação de arredondamento.

Número original 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