Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/02/2012, 13:16
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Problema al leer un decimal separado por coma

Hola:

No sé cómo lees el fichero, pero si utilizas algo como Double.parseDouble("12.34"), Float.parseFloat("12.34"), no te queda más remedio que ser . el separador de decimales.

Sin embargo, si usas DecimalFormat, entonces prevalecen los separadores de tu idioma por defecto (coma para los decimales, puntos para los separadores de 1000). Por ejemplo, esto

DecimalFormat df = new DecimalFormat("#,###.#");
System.out.println(df.parse("112.434,232"));
System.out.println(df.parse("112434,232"));

te funciona bien en ambos casos.

OJO, en el patrón "#,###.#" un punto es el separador de decimales independienteme de cual sea el separador en tu idioma (una coma para español) y la coma , es el separador de miles, independientemente de cual sea en tu idioma (punto en español. Por eso, aparentemente, está al revés el patrón con los números, pero así está bien.

Se bueno.
__________________
Apuntes Java
Wiki de Programación