J'écris un contrôle de valeur saisie dans un champ texte et en testant les
types flottants, je viens d'avoir une surprise.
La ligne : Double.valueOf(chaineATester) lève une exception dans les cas
suivant :
- un nombre entier (ennuyeux ...)
- un décimal avec un point (125.36)
et passe correctement avec un décimal à virgule (125,36).
Donc deux questions :
- pourquoi l'entier n'est-il pas accepté ?
- comment le faire utiliser le point comme séparateur par défault pour le
flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvain
Un petit coup de fatigue pour l'histoire du point et de la virgule ... désolé, oublions. Mais je conserve la question qui concerne l'exception levée par Double.valueOf("1") qui m'intrigue un peu ...
Sylvain
"Sylvain" a écrit dans le message de news: 41c2991d$0$11233$
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant les types flottants, je viens d'avoir une surprise. La ligne : Double.valueOf(chaineATester) lève une exception dans les cas suivant : - un nombre entier (ennuyeux ...) - un décimal avec un point (125.36) et passe correctement avec un décimal à virgule (125,36).
Donc deux questions : - pourquoi l'entier n'est-il pas accepté ? - comment le faire utiliser le point comme séparateur par défault pour le flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Un petit coup de fatigue pour l'histoire du point et de la virgule ...
désolé, oublions. Mais je conserve la question qui concerne l'exception
levée par Double.valueOf("1") qui m'intrigue un peu ...
Sylvain
"Sylvain" <s.caillet_nospam@free.fr> a écrit dans le message de news:
41c2991d$0$11233$8fcfb975@news.wanadoo.fr...
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant les
types flottants, je viens d'avoir une surprise.
La ligne : Double.valueOf(chaineATester) lève une exception dans les cas
suivant :
- un nombre entier (ennuyeux ...)
- un décimal avec un point (125.36)
et passe correctement avec un décimal à virgule (125,36).
Donc deux questions :
- pourquoi l'entier n'est-il pas accepté ?
- comment le faire utiliser le point comme séparateur par défault pour le
flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Un petit coup de fatigue pour l'histoire du point et de la virgule ... désolé, oublions. Mais je conserve la question qui concerne l'exception levée par Double.valueOf("1") qui m'intrigue un peu ...
Sylvain
"Sylvain" a écrit dans le message de news: 41c2991d$0$11233$
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant les types flottants, je viens d'avoir une surprise. La ligne : Double.valueOf(chaineATester) lève une exception dans les cas suivant : - un nombre entier (ennuyeux ...) - un décimal avec un point (125.36) et passe correctement avec un décimal à virgule (125,36).
Donc deux questions : - pourquoi l'entier n'est-il pas accepté ? - comment le faire utiliser le point comme séparateur par défault pour le flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Thibal
Sylvain wrote:
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant les types flottants, je viens d'avoir une surprise. La ligne : Double.valueOf(chaineATester) lève une exception dans les cas suivant : - un nombre entier (ennuyeux ...) - un décimal avec un point (125.36) et passe correctement avec un décimal à virgule (125,36).
Donc deux questions : - pourquoi l'entier n'est-il pas accepté ? - comment le faire utiliser le point comme séparateur par défault pour le flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Bonjour,
Commence par lire la Javadoc concernant la méthode valueOf(), on peut y trouver pas mal d'informations sur le format des chaines acceptées.
Sylvain wrote:
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant les
types flottants, je viens d'avoir une surprise.
La ligne : Double.valueOf(chaineATester) lève une exception dans les cas
suivant :
- un nombre entier (ennuyeux ...)
- un décimal avec un point (125.36)
et passe correctement avec un décimal à virgule (125,36).
Donc deux questions :
- pourquoi l'entier n'est-il pas accepté ?
- comment le faire utiliser le point comme séparateur par défault pour le
flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Bonjour,
Commence par lire la Javadoc concernant la méthode valueOf(), on peut y
trouver pas mal d'informations sur le format des chaines acceptées.
J'écris un contrôle de valeur saisie dans un champ texte et en testant les types flottants, je viens d'avoir une surprise. La ligne : Double.valueOf(chaineATester) lève une exception dans les cas suivant : - un nombre entier (ennuyeux ...) - un décimal avec un point (125.36) et passe correctement avec un décimal à virgule (125,36).
Donc deux questions : - pourquoi l'entier n'est-il pas accepté ? - comment le faire utiliser le point comme séparateur par défault pour le flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Bonjour,
Commence par lire la Javadoc concernant la méthode valueOf(), on peut y trouver pas mal d'informations sur le format des chaines acceptées.
Sylvain
merci, c'est vrai que des fois on pense qu'il n'y rien pour des trucs aussi simples qu'un wrapper ... et pourtant !
Sylvain "Thibal" a écrit dans le message de news: cpu6h9$1isk$
Sylvain wrote:
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant les types flottants, je viens d'avoir une surprise. La ligne : Double.valueOf(chaineATester) lève une exception dans les cas suivant : - un nombre entier (ennuyeux ...) - un décimal avec un point (125.36) et passe correctement avec un décimal à virgule (125,36).
Donc deux questions : - pourquoi l'entier n'est-il pas accepté ? - comment le faire utiliser le point comme séparateur par défault pour le flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Bonjour,
Commence par lire la Javadoc concernant la méthode valueOf(), on peut y trouver pas mal d'informations sur le format des chaines acceptées.
merci, c'est vrai que des fois on pense qu'il n'y rien pour des trucs aussi
simples qu'un wrapper ... et pourtant !
Sylvain
"Thibal" <thibaut@cogidis.com> a écrit dans le message de news:
cpu6h9$1isk$1@biggoron.nerim.net...
Sylvain wrote:
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant
les types flottants, je viens d'avoir une surprise.
La ligne : Double.valueOf(chaineATester) lève une exception dans les cas
suivant :
- un nombre entier (ennuyeux ...)
- un décimal avec un point (125.36)
et passe correctement avec un décimal à virgule (125,36).
Donc deux questions :
- pourquoi l'entier n'est-il pas accepté ?
- comment le faire utiliser le point comme séparateur par défault pour le
flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Bonjour,
Commence par lire la Javadoc concernant la méthode valueOf(), on peut y
trouver pas mal d'informations sur le format des chaines acceptées.
merci, c'est vrai que des fois on pense qu'il n'y rien pour des trucs aussi simples qu'un wrapper ... et pourtant !
Sylvain "Thibal" a écrit dans le message de news: cpu6h9$1isk$
Sylvain wrote:
Bonjour,
J'écris un contrôle de valeur saisie dans un champ texte et en testant les types flottants, je viens d'avoir une surprise. La ligne : Double.valueOf(chaineATester) lève une exception dans les cas suivant : - un nombre entier (ennuyeux ...) - un décimal avec un point (125.36) et passe correctement avec un décimal à virgule (125,36).
Donc deux questions : - pourquoi l'entier n'est-il pas accepté ? - comment le faire utiliser le point comme séparateur par défault pour le flottants (une histoire de Locale sûrement mais je ne sais plus où ...).
Merci à tous
Sylvain caillet
Bonjour,
Commence par lire la Javadoc concernant la méthode valueOf(), on peut y trouver pas mal d'informations sur le format des chaines acceptées.
Thibal
Sylvain wrote:
Un petit coup de fatigue pour l'histoire du point et de la virgule ... désolé, oublions. Mais je conserve la question qui concerne l'exception levée par Double.valueOf("1") qui m'intrigue un peu ...
Parceque 1 est en effet un entier et non un décimal, je pense que c'est comme quand tu écris du code Java. Tu n'as pas le droit d'écrire double monDouble = 1; mais tu dois écrire monDouble = 1.0;
Je pense que là c'est le même problème, à toi de remettre ta chaine de caractères en forme avant de la parser. Détectes s'il y'a une virgule ou un point et sinon tu le rajoutes avec un 0 derrière.
C'est vrai que ca parait bizarre de penser que les mecs qui ont écrit valueOf n'ont pas pensé à ça. à mon avis c'est volontaire donc incontournable...
P.S: Si j'ai dit de la merde et que quelqu'un détient la vérité, je suis preneur ;)
Bonne chance pour la suite,
Thibaut
Sylvain wrote:
Un petit coup de fatigue pour l'histoire du point et de la virgule ...
désolé, oublions. Mais je conserve la question qui concerne l'exception
levée par Double.valueOf("1") qui m'intrigue un peu ...
Parceque 1 est en effet un entier et non un décimal, je pense que c'est
comme quand tu écris du code Java. Tu n'as pas le droit d'écrire double
monDouble = 1; mais tu dois écrire monDouble = 1.0;
Je pense que là c'est le même problème, à toi de remettre ta chaine de
caractères en forme avant de la parser. Détectes s'il y'a une virgule ou
un point et sinon tu le rajoutes avec un 0 derrière.
C'est vrai que ca parait bizarre de penser que les mecs qui ont écrit
valueOf n'ont pas pensé à ça. à mon avis c'est volontaire donc
incontournable...
P.S: Si j'ai dit de la merde et que quelqu'un détient la vérité, je suis
preneur ;)
Un petit coup de fatigue pour l'histoire du point et de la virgule ... désolé, oublions. Mais je conserve la question qui concerne l'exception levée par Double.valueOf("1") qui m'intrigue un peu ...
Parceque 1 est en effet un entier et non un décimal, je pense que c'est comme quand tu écris du code Java. Tu n'as pas le droit d'écrire double monDouble = 1; mais tu dois écrire monDouble = 1.0;
Je pense que là c'est le même problème, à toi de remettre ta chaine de caractères en forme avant de la parser. Détectes s'il y'a une virgule ou un point et sinon tu le rajoutes avec un 0 derrière.
C'est vrai que ca parait bizarre de penser que les mecs qui ont écrit valueOf n'ont pas pensé à ça. à mon avis c'est volontaire donc incontournable...
P.S: Si j'ai dit de la merde et que quelqu'un détient la vérité, je suis preneur ;)
Bonne chance pour la suite,
Thibaut
Francis JUGE-BOIRARD
Bonjour, Je pense qu'une solution pourra venir de la class java.text.NumberFormat.
Voilà ... Bon courage...
Bonjour,
Je pense qu'une solution pourra venir de la class java.text.NumberFormat.