Tengo el siguiente código para analizar una variable de cadena llamado str.Extraño comportamiento de NumberFormat Java
NumberFormat formatter = NumberFormat.getInstance();
Number number = formatter.parse(str);
Quiero ver la excepción lanzada cuando str no es solo un número para validarlo. El problema que tengo es que no siempre arroja la ParseException esperada. Cuando la String str comienza con un número pero luego son caracteres, parece obtener los primeros caracteres de la Cadena y analizarlos como un número.
Por ejemplo:
- si str = "A10", entonces se lanza un ParseException
- si str = "10a", entonces no es una excepción lanzada y número = 10
no puedo usar Double.parseDouble (str) porque str puede tener comas y puntos como 1,000.98 y este formato no es entendido por este método.
¿Por qué sucede esto? ¿Puedo validarlo de otra manera? Gracias
Yo no quería decir que el comportamiento de NumberFormat estaba mal, pero yo no había entendido bien la API. Pensé que posición era indicar hasta qué personaje quería analizar la Cadena. Ahora entiendo por qué está diseñado de esta manera. Gracias por todos sus torres. – Javi