Java arredondar ou truncar Double com 2 casas decimais
Neste post vou mostrar como arredondar ou truncar um valor do tipo Double em Java com duas casas decimais
Última atualização em: | 37597 Visualizações
É 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 tipoRoundingMode.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.