Java - double String

   
Vista:

double String

Publicado por xavi (3 intervenciones) el 17/01/2010 10:55:53
TENGO UN GRAN PROBLEMA, y necesito ayuda. Tengo un fichero en excel, con numeroS de esta forma: -1,04 -0,6 ... etc y cuando los quiero utilizar como doubles me da esto:
java.lang.NumberFormatException: For input string: "-0,60"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
he pasado el fichero a texto, leo linea a linea, utilizo
StringTokenizer tokens=new StringTokenizer(linea);
str=tokens.nextToken();
str1=str.trim();
str1.replace(',', '.');
... y nada he utilizado DecimalFormat df = new DecimalFormat ("#,## 0,00 "); también NumberFormat nf = NumberFormat.getInstance(Locale.ENGLISH);
//nf.format(str1); Y NADA DE NADA
ES QUE JAVA NO PERMITE UTILIZAR ESTOS NÚMEROS,
por favor necesito ayuda estoy desesperado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:double String

Publicado por James (207 intervenciones) el 18/01/2010 05:02:58
Normalmente si funciona, aunque en tu caso parece la excepcion, dejeme aconsejarte que uses un RS232 correcto, luego backup para los max232 y finalmente un codigo basado en interrupciones, Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:double String

Publicado por xavi (3 intervenciones) el 19/01/2010 01:38:08
Gracias por tu interés, reconforta saber que hay gente desinteresada en ayudar. Analicé tu mensaje y creí que el error estaba en algo que no veía, y así era. A pesar de estar sumido en la mayor de las desesperaciones, miré y miré, y por fin FUNCIONÓ, y como siempre era una tontería, te pongo parte del código para que veas como queda y hacerte participe de mi alegria.
....
while(tokens.hasMoreTokens()){
str=tokens.nextToken();
str1=str.trim();
NumberFormat nf = NumberFormat.getInstance();
Number x =nf.parse(str1);
array[f][i]=x.floatValue(); //esto faltaba
System.out.println("muestra fila"+f+": "+array[f][i]);
i++;
....
GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar