Java arredondar ou truncar Double com 2 casas decimais

Postado em por Wolmir Cezer Garbin em Java | 137 Visualizações
Última atualização em:

Neste post vou mostrar como arredondar ou truncar um valor do tipo Double em Java com duas casas decimais

Todo mundo tem algo para vender, AnuncieOn.com o melhor site de anúncios grátis de todo o Brasil. ABRIR

É normal surgir a necessidade de arredondar ou truncar valores em java com 2 ou mais casas decimais.

Arredondar ou truncar

Apenas para entender, arredondar sempre vai fazer um arredondamento para o próximo número mais próximo (para cima ou para baixo). Por exemplo, se arredondar o valor 25,356 com duas casas decimais o valor resultante será: 25,36, já se neste mesmo exemplo resolvessemos truncar este valor, teriamos como resultado 25,35 já que desconsidera o próximo dígito.

Entendendo isso agora podemos ver como fazer isso em java.



Arredondando valor Double em Java

No primeiro exemplo vamos ver como arredondar o mesmo valor em java. Veja:

import java.text.DecimalFormat;

public class ArredondarDoubleMain {

    public static void main(String[] args) {
        arredondar(25.356);
    }

    private static void arredondar(Double valor) {
        System.out.println( valor );
        System.out.println( new DecimalFormat("#,##0.00").format(valor) );
    }
}

E o resultado será:

25.356
25,36

Truncar valor Double em Java

No segundo exemplo vamos ver como truncar o mesmo valor em java. Veja:

import java.math.RoundingMode;
import java.text.DecimalFormat;

public class ArredondarDoubleMain {

    public static void main(String[] args) {
        truncar(25.356);
    }

    private static void truncar(Double valor) {
        System.out.println( valor );
        DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");
        decimalFormat.setRoundingMode(RoundingMode.DOWN);
        System.out.println( decimalFormat.format(valor) );
    }
}

E o resultado será:

25.356
25,35

Note que ambos os métodos são muito semelhantes. Os dois fazem uso da classe DecimalFormat para formatar com o mesmo padrão #,##0.00. Porêm o truncar definimos o arredondamento para o tipo RoundingMode.DOWN o que faz que que corte o valor ignorando os próximos dígitos.

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

FIQUE POR DENTRO

Receba as novidades todo mês em seu e-mail!

Apoiadores


Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar