System.MidpointArredondamento enum
Este artigo fornece observações complementares à documentação de referência para essa API.
Use a MidpointRounding enumeração com sobrecargas apropriadas de , MathF.Rounde Decimal.Round para fornecer mais controle do processo de Math.Roundarredondamento.
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 para o mais próximo
Campos:
Uma operação redonda para mais próxima usa um número original com uma precisão implícita ou especificada; examina o próximo dígito, que está nessa precisão mais um; e retorna 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 será 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 próximo dígito for de 0 a 4 ou de 6 a 9, o MidpointRounding.AwayFromZero
e MidpointRounding.ToEven
não afeta o resultado da operação de arredondamento. No entanto, se o próximo dígito 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 será ambíguo. Nesse caso, os modos arredondados para mais próximos permitem MidpointRounding
especificar se a operação de arredondamento retorna o número mais próximo de zero ou o número par mais próximo.
A tabela a seguir demonstra os resultados do arredondamento de alguns números negativos e positivos em conjunto com os modos arredondados para mais próximos. A precisão usada para arredondar os números é zero, o que significa que o número após o ponto decimal afeta a operação de arredondamento. Por exemplo, para o número -2,5, o dígito após o ponto 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 | Longe de Zero | 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 direcionado pega um número original com uma precisão implícita ou especificada e retorna o próximo número mais próximo em uma direção específica com a mesma precisão que o número original. Modos direcionados no MidpointRounding
controle para qual número predefinido o arredondamento é realizado.
A tabela a seguir demonstra os resultados do arredondamento de alguns números negativos e positivos em conjunto com os modos de arredondamento direcionado. A precisão usada para arredondar os números é zero, o que significa que o número antes do ponto 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 |