Arrendondamento

3 respostas
java
R

Quando Uso -> DecimalFormat formato = new DecimalFormat("#.####");
numero = Double.valueOf(formato.format(numero));

ocorre um pequeno problema com os números que terminam com 0. por exemplo: 0.6120, ele mostra apenas 0.612. oque devo fazer para q os zeros do final do número não seja ignorado?
ou seja, ao invés de retornar 0.612, retorne 0.6120.

3 Respostas

staroski

Se olhar a documentação do DecimalFormat, vai ler que o “#” representa um dígito e que zero não é representado.

Depois do “.”, utilize “0” ao invés de “#”.

R

Valeww man!

peczenyj

Vamos la

Onde vc quer retornar 0.6120 ? No Double ou na String quando vc aplica o formato?

Por que se vc usa isso no Double o ultimo zero vai ser omitido devido a forma como se armazena um valor numerico em ponto flutuante em java ( mantissa e expoente ).

Pra vc ter um numero que represente 0.6120 e não 0.612 vc precisa de um tipo de Ponto Fixo onde vc força precisão de 4 digitos.

Portanto, se vc vai converter pra double não importa se tem esse zero no fim. Importa quando vc for imprimir a partir desse formato.

Criado 8 de novembro de 2016
Ultima resposta 12 de nov. de 2016
Respostas 3
Participantes 3