image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

FX

Filippe Xavier20/06/2023 22:09
Compartilhe

Arredondamento com Math.Round ou ToString("FN")?

    Quando estamos trabalhando com números em C#, pode ser necessário arredondá-los com uma precisão específica. No entanto, surge a dúvida sobre qual método utilizar para obter o resultado desejado. Neste artigo, vamos explorar duas abordagens populares para arredondamento em C#: Math.Round() e ToString("FN"). Vamos comparar as características de cada método e ajudá-lo a escolher a melhor opção para suas necessidades de arredondamento.

    Math.Round(): O método Math.Round() é amplamente utilizado para arredondar números em C#. Ele recebe dois parâmetros: o número a ser arredondado e o número de casas decimais para arredondar. Por exemplo, Math.Round(valor, 3) arredondará o valor para 3 casas decimais. O Math.Round() utiliza as regras de arredondamento padrão, onde os valores são arredondados para o valor mais próximo. Se houver um valor exato no meio do caminho, o arredondamento será feito para o valor mais próximo, seguindo as regras de arredondamento padrão.

    ToString("FN"): Outra abordagem comum para arredondamento em C# é o uso do método ToString() com a formatação "FN" (Considere N como um número inteiro qualquer). Essa formatação permite controlar a quantidade de casas decimais que serão exibidas na representação de uma string do número. Por exemplo, valor.ToString("F3") retornará uma string formatada com 3 casas decimais. No entanto, é importante destacar que o ToString("FN") não faz um arredondamento explícito. Ele simplesmente formata o número com a precisão desejada. Se houver dígitos além da terceira casa decimal, eles serão truncados, ou seja, removidos sem arredondamento.

    Ambas as abordagens têm suas peculiaridades e são úteis em diferentes situações. A escolha do método depende do resultado desejado. Se você precisa de um arredondamento preciso, levando em consideração as regras de arredondamento padrão, o Math.Round() é a melhor opção. Ele garantirá que o número seja arredondado corretamente, com base nas regras estabelecidas.

    Por outro lado, se você precisa apenas formatar o número com uma quantidade fixa de casas decimais e não precisa de um arredondamento explícito, o ToString("FN") pode ser mais adequado. Ele fornecerá a representação formatada do número com a precisão desejada, mas sem realizar o arredondamento explícito.

    Ao arredondar números em C#, é importante considerar as necessidades específicas do seu projeto. Se você precisa de um arredondamento preciso, considerando as regras de arredondamento padrão, o método Math.Round() é a melhor escolha. Por outro lado, se você precisa apenas formatar o número com uma quantidade fixa de casas decimais, sem realizar um arredondamento explícito, o método ToString("FN") é a opção mais adequada.

    Portanto, ao escolher entre Math.Round() e ToString("FN"), leve em conta o resultado desejado e as regras de arredondamento necessárias para o seu caso específico. Ambos os métodos são úteis e eficientes, desde que sejam aplicados corretamente de acordo com as suas necessidades.

    Compartilhe
    Comentários (1)

    DC

    Deividson Coelho - 24/09/2023 00:42

    Muito bom, ótima explicação. è realmente importante saber quando usar cada uma das opções.