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.
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.
Acho que eh assim, se nao me engano:
float <nome da variável>=Float.parseFloat( );
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!
viu assim nao da
por causa … da casa decimal
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
okay
mais
se o numero for assim
1,234.101?
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!!
mais esse é o problema
o usuario podera digitar
1.101
2.101
1,234.101
989,989,908.101
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
}
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.