Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “1,99”
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)
Os parsers de string para número não utilizam o locale, é fixo, sempre o “.” é separador decimal e a “,” é agrupador de dígitos. Tente “1.99” ou “1,000.10” para ver o resultado.
Fred_Lima
Não sei se estou errado, mas você está usando String para o formato de seus “números com casas decimais”, talvez uma conversão para o tipo correto ajudaria.
[Edit] É agora que vi o parse, provavelmente deve ser o uso errado dos sinais de separação, como disse o amigo acima
thiago.correa
Porque como é sabido por todos, variáveis do tipo ponto flutuante tem as casas decimais separadas por vírgulas e não ponto
Dê uma olhada nesse tópico para resolver o teu problema
NumberFormatnf=NumberFormat.getInstance(newLocale("pt","BR"));nf.setMinimumFractionDigits(2);Stringn1="1,99";Stringn2="1.000,01";doublev;try{v=nf.parse(n1).doubleValue()+nf.parse(n2).doubleValue();System.out.println(nf.format(v));}catch(ParseExceptione){// TODO Auto-generated catch blocke.printStackTrace();}
Assim vc pode usar os numeros do Brasil a vontade =P
[]'s
Gobain
Buenas povo,
Usa um formatter pra trabalhar com os números. Acredito q vc esteja trabalhando com dinheiro, então..