Casas decimais

2 respostas
M

Olá pessoal…será que alguém sabe como deixar duas casas deciamais…mas qdo o numero tiver zero aparece os dois memso assim. um exemplo no meu sistema eu mando arredondar ai qdo o numero é 45,50 ele aparece 45,5. Eu uso o matetematica.round para fazer o arredondamento.

public static float round(float value, int decimais) {

float p = (float)Math.pow(10, decimais);

return Math.round(value * p) / p;

}

Mas nao sei como fazer aparecer as duas casa decimais mesmo q seja zero.

Valew!!!

2 Respostas

T

Um float não tem casas decimais - quem tem casas decimais é sua representação em forma de string.

No seu caso, você precisa usar um DecimalFormat, ou então um String.format. Exemplo:

double d = 45.5;
String s = String.format ("%.2f", d); // deve ter a string "45.50"

Por favor, dentro da medida do possível NÃO USE float, mas double. Isso é uma recomendação que vale tanto em Java quanto em C++: o ganho de memória é irrisório e os problemas com precisão e exatidão são muito maiores com float que com double.

F

oi

Se o seu sistema for trabalhar com preços recomento que utilize BigDecimal,
estou tento varios problemas com um sistema que foi feito com float, quando ia fazer contas decimais
troquei para bigdecimal e ate o momento nao tive problemas.

Criado 15 de fevereiro de 2008
Ultima resposta 15 de fev. de 2008
Respostas 2
Participantes 3