Putss…vlww…mas infelizmente nao da…pq eu estou usando J2ME…
:S
jzaires
Puxa, não tinha visto que era J2ME, nunca programei algo muito específico nele.
Como é em J2ME, tem um artigo na Revista Mundo Java nº 30, essa mais voltada para Java Me.
Um dos artigos se chama “Usando ponto-flutuante em J2ME”.
No código o valor é formatado assim, ficando com duas casa decimais:
//valor é um TextFieldtotald=Float.parseFloat(valor.getString());//Fórmula demonstrada na revistatotal2c=(double)(int)((totald+0.005)*100.0)/100.0;//E para exibílo assim em um StringItem chamado total1tota1.setText(Double.toString(total2c));
Vê se resolve.
Espero ter ajudado.
Schoker
putss…nao funcionou…
testei com o numero 4800.0…
ele saiu a mesma coisa… :S
Tive que fazer esse replace pq se nao ele iria imprimir o resultado assim:
Ex:
Sem formatar: $ 2555.60
Com formatação (mas sem o replace): $ 2,555.60
Com formatação e replace: $ 2.555,60
Eh pq o lacale dele eh dos eua...nao descobri como dar um setLocale...entao resolvi com esse replace...
ahh...e o substring no final serve apenas pra tirar o $
=D
ehhh....nao deu certo rsrs...
dessa forma que eu coloquei ele só funciona pelo netbeans...
ai eu tentei colocar assim no pda e nao funcionou...ele da erro quando chega no "new Formatter..."
o PDA que estou usando é o HTC Touch Diamond...
Pode ser que em outros PDA's funcione...mas nesse nao deu certo...
tem alguma outra maneira de formatar a moeda?
Vlww!
V
vinidrummer
Vou tentar te dar uma solução... mas sem testar.
public String retValorPonto (double valor) {
String valorPonto = "";
valor = valor * 100;
String temp = (int) valor;
for (int i = 0; i < vlr.length; i++){
if (vlr.length == i+3)
valorPonto+=".";
valorPonto+=""+vlr.charAt(i);
}
return valorPonto;
}
rode lá pra ver se funciona. Não fiz tratamento para o caso de valores que sejam menores que R$1,00