Segue abaixo código responsável por arredondar com casas decimais em java (round/trunc) um tipo double para double (Sem precisar converter para String):
public class Teste { public static void main(String[] args) { System.out.println(round(1.116, 2)); System.out.println(round(1.1161, 6)); System.out.println(round(1.1161, 4)); System.out.println(round(1.149, 1)); } public static double round(double valor, int qtdCasasDecimais) { double fatorDeMultiplicacao = 1; double fatorDeDivisao = 0.05; while (qtdCasasDecimais-- > 0) { fatorDeMultiplicacao *= 10.0d; fatorDeDivisao /= 10.0d; } return Math.round((valor + fatorDeDivisao) * fatorDeMultiplicacao) / fatorDeMultiplicacao; } }
Este código irá gerar a saída:
1.12
1.1161
1.1161
1.2
[]s
Top parabéns
ResponderExcluir