Páginas

segunda-feira, 18 de outubro de 2010

Arredondar com casas decimais sem converter para String

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

Um comentário:

Related Posts Plugin for WordPress, Blogger...