IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Validation de Double - séparateur de décimal


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 56
    Points : 50
    Points
    50
    Par défaut Validation de Double - séparateur de décimal
    Bonjour à tous,

    En cours de développement d'une application web Spring MVC, je rencontre actuellement un problème qui me dérange assez bien concernant le formatage du type java.lang.Double.

    Exposition de mon problème (auquel je n'ai pas encore trouvé de solution !):

    Dans mon modèle objet je stocke des objets de type types java.lang.Double.
    Dans ma commande, pour faire la liaison avec la vue, j'utilise des objets java.lang.String.
    Si à partir de mon application web j'encode un montant, p.ex 20000, pas de problème pour reconstruire l'objet java.lang.Double de mon modèle. Par contre si je reconstruis ma commande à partir de ce modèle (en vue de refaire l'affichage) j'ai l'affichage suivant : 20000.0
    Huummm ennuyant ce '.0' Ok je trouve une solution miracle : la librairie JSTL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fmt:formatNumber type="number" maxFractionDigits="2" groupingUsed="false" value="${status.value}" />
    Ce qui au niveau de ma JSP affiche correctement 20000.

    Si j'encode une valeur décimale, p. ex. 20000.45, la reconstruction de mon objet java.lang.Double du modèle ne me pose pas problème non plus.

    Par contre l'affichage avec la JSTL donne 20000,45
    Ce qui fait que si je tente de sauvegarder ce nombre dans ce format ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.NumberFormatException
    Je voudrais vous demander :

    1. Si vous connaîtriez un moyen pour uniformiser le séparateur de décimal ?
    2. Que vaut-il mieux faire aux niveau des validateurs pour assurer que la java.lang.String de la commande peut être correctement convertie en java.lang.Double? Utiliser une expression régulière ou faire un catch de java.lang.NumberFormatException ?

    D'avance je vous remercie pour vos propositions.

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Août 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut saha, c'est redmokrane
    <%@ page import="java.text.NumberFormat "%>
    .....
    .....

    NumberFormat nf = NumberFormat.getInstance();
    double d;
    ....
    ....
    nf.format(d);

    le resultat correspond au format specifier au niveau de windowns..

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 56
    Points : 50
    Points
    50
    Par défaut
    merci redmokrane,

    tu as pu m'éclairer !!

    J'ai en fait utilisé :

    NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH); et cela a pu résoudre mon problème !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le séparateur des décimales
    Par Dadou74 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 09/02/2007, 13h00
  2. Réponses: 2
    Dernier message: 13/10/2006, 01h52
  3. Réponses: 15
    Dernier message: 01/03/2006, 17h34
  4. Gestion du séparateur de décimal
    Par jpduches dans le forum Access
    Réponses: 4
    Dernier message: 26/01/2006, 17h40
  5. Réponses: 3
    Dernier message: 11/11/2005, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo