Converter números

9 respostas
marciofermino

Amigos tenho uma string com o seguinte valor:

(string)
123,001

como eu faco para transformar num float

123.001

Quem puder ajudar agradeço.

9 Respostas

S

Acho que eh assim, se nao me engano:

float <nome da variável>=Float.parseFloat( );

T

Cara você pode usar uma das classes wrapper.

Float var1 = new Float(String)

Mas claro que a string que você passar no construtor da classe Float possa ser convertido.

faça um teste.

Abraço!

marciofermino

viu assim nao da
por causa … da casa decimal

R

Existe um problema as casas decimais sao separadas por ponto e nao por virgula desso forma vc deve primeiro fazer um replace de ‘,’ para ‘.’ pra depois fazer o Parse

String valor = "123,01";
valor = valor.replace(",", ".");
float novovalor = Float.parseFloat(valor);
System.out.println(novovalor);

Falowsss

marciofermino

okay
mais

se o numero for assim

1,234.101?

R

Bom isso se chama redundancia de dados vc deve forçar quem vai digitar tal valor a seguir um padrao!!

Poiss vc concorda comigo que ha varias formas de se escrevre um numero!!

Pow exemplo podemos escrever a nossa altura de varias formas:

1.70
1.7
1,70
1,7

porr isso antes de vc trabalhar com o valor vc deve verificar se o mesmo eh valido por exemplo vc nao pode aceitar valores que contenham virgula. dessa forma o usuario se vera obrigado a difgitar o valor corretamente!!

Falowss!!

marciofermino

mais esse é o problema
o usuario podera digitar

1.101
2.101
1,234.101
989,989,908.101

R

o que sua aplicaçao vai fazer ?

Vou lhe dar um exemplode como impedir isso !!

String valor = 1,234,567.89; while(valor.contais(",")){ System.out.println("Digite um valor valido"); aqui vc pede para o usuario entrar novamente com o valor }

marciofermino

Rafael vc nao entendeu
eu não quero impedir

até mesmo pq a aplicação tera todos estes valores.

O usuário estara livre para digitar qq número com 3 casas decimais.

Criado 2 de janeiro de 2009
Ultima resposta 3 de jan. de 2009
Respostas 9
Participantes 4