Estoy haciendo un programa Java de Android que está tomando valores dobles del usuario. Si ejecuto el programa en la computadora, funciona muy bien debido a la configuración regional de mi computadora, EN_UK. Pero cuando lo ejecuto en mi teléfono móvil con la configuración regional FI_FI, no funcionará. Sé el motivo: en el Reino Unido las personas usan el punto como separador decimal, pero aquí en Finlandia el separador decimal es una coma.Dobles, comas y puntos
DecimanFormat df = new DecimalFormat("#.#");
Double returnValue = Double.valueOf(df.format(doublenumber));
Cuando estoy usando la coma, dice java.lang.NumberFormatException: Invalid double: "1234,5"
.
¿Cómo puedo hacer que funcione con ambos, coma y punto?
¿Por qué no acaba de analizar la cadena y vuelva a colocar la coma con puntos si es necesario? – guitarflow
Una solución no tan inteligente es reemplazar primero todas las comas por puntos y luego tratar el número como si estuviera formateado con puntos. –