Olá estou com um problema , preciso fazer a leitura de uma variavel do tipo double, preciso assegurar que o valor contido nela nao será “,”(virgula, ex: 25,00) e sim “.” (ponto, ex: 25.00) como faço para fazer essa manipulacao?
As variáveis de ponto flutuante do Java (assim como de todas as outras linguagens que eu conheço) usam “.” como separador de decimais. Imagino que, na verdade, você esteja querendo converter uma String em um double. Se for isto, você tem duas alternativas:
minhaVariavelString = minhaVariavelString.replaceAll(",", ".");
minhaVariavelDouble = Double.parseDouble(minhaVariavelString);
ou
minhaVariavelDouble = NumberFormat.getInstance().parse(minhaVariavelString).doubleValue;
A vantagem da segunda opção é que o Java usa a configuração do computador para saber se ele deve considerar “.” ou “,” como separador de decimais.
bem… acho que o ideal é trabalhar com a classe NumberFormat… saca só
float f = 358.45F;
Locale l = new Locale("pt","BR");
NumberFormat nf = NumberFormat.getInstance(l);
//NumberFormat nf = NumberFormat.getCurrencyInstance(l); se for moeda
System.out.println(nf.format(f));
Olá,
Bem … há algum tempo atrás o professor passou um trabalho na faculdade e tive esse problema, e como não conhcecia a Classe NumberFormat eu criei uma classe de controle que fazia isso pra mim foi meio suicídio eu sei, mas como não conhecia e ela funcionou perfeita mente se vc quiser posso postála a título de curiosidade.
Sds
Logan