Eliminar casas decimais(dúvida besta)

6 respostas
R

Bom dia,
Eu tenho por exemplo um número com duas casas decimais 791.78, e queria transformá-lo em 79198, esse resultado final pode ser uma String mesmo, pois não vou fazer nenhuma operação matemática com o número. Alguém conhece algum método que me ajude com isso?
Eu já tentei o DecimalFormal e NumberFormat, mas sempre me resta o ponto no final.

Eu pensei em usar o método replaceAll, mas no J2SDK1.3 ele não existe, e é este JDK que eu estou usando.

Grato.
Rafael

6 Respostas

C

Opa,
Não é so transformar pra String e retirar o ponto?
Se for isso, basta vc fazer:

String numero=""+flotNumber;

int index=numero.indefOf(".");

String resultado=numero.substring(0,index)+numero.substring(index+1);

Pode ter outras formas tbm.
Se nao der certinho esse é so arrumar… mas a idéia tá ai!

Falow!

R

Hun, eu havia pensado nisso, mas tive receio de o número que eu não sei como virá, vir também em forma de milhar.
De qualquer forma, grato pela ajuda.

S

Não dá pra usar replace(), trocando os “.” por espaços vazios?

V

String original = "1.719,5"; StringBuffer sohNro = new StringBuffer(""); for (int i = 0; i < original.length(); i++) if (original.charAt(i) >= '0' && original.charAt(i) <= '9') sohNro.append(original.charAt(i)); System.out.println(sohNro.toString());

D

se vc realmente tem certeza q são 2 casas decimais vc pode fazer assim:

NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
nf.setMaximumFractionDigits(0);
double d = 123456.78;
System.out.println(nf.format(d*100));

se for uma casa vc multiplica por 10, 2 casas por 100 e por ai vai…
[]'s

R

Obrigado pelas dicas, acabei usando uma solução até que um tanto simples. Como eu sei que sempre serão somente duas casas decimais, eu multiplico por 100 e depois aplico um Math.round() no resultado.

Grato pela ajuda.

Criado 6 de julho de 2005
Ultima resposta 6 de jul. de 2005
Respostas 6
Participantes 5