J'ai le code suivant pour analyser une variable String appelée str.Comportement étrange de NumberFormat Java
Je veux attraper l'exception levée quand str n'est pas un nombre juste pour le valider. Le problème que j'ai est qu'il ne lance pas toujours le ParseException prévu. Lorsque la chaîne Str commence par un nombre mais que ce sont des caractères, il semble obtenir les premiers caractères de la chaîne et les analyser comme un nombre.
Par exemple:
- si str = "a10", puis est jeté un ParseException
- si str = "10a", alors pas d'exception levée et le nombre = 10
Je ne peux pas utiliser Double.parseDouble (str) parce que str peut avoir des virgules et des points comme 1.000.98 et ce format n'est pas compris par cette méthode.
Pourquoi cela se produit-il? Puis-je le valider d'une autre manière? Merci
Je ne voulais pas que le comportement de NumberFormat avait tort, mais je l'avais mal compris l'API. Je pensais que la position devait indiquer jusqu'à quel personnage je voulais analyser la corde. Maintenant, je comprends pourquoi c'est conçu de cette manière. Merci pour toutes vos réponses. – Javi