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

Jasper Discussion :

Afficher un montant formaté à 2 décimales selon la locale


Sujet :

Jasper

  1. #1
    Membre à l'essai

    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 11
    Points
    11
    Par défaut Afficher un montant formaté à 2 décimales selon la locale
    Bonjour,

    je dois afficher des textes contenant des montants provenant d'un flux xml, formaté sur deux décimales. Ces textes étant tantôt en français, tantôt en anglais, les montants doivent suivre le format idoine.

    J'ai essayé ainsi, en utilisant des variables locales retravaillant le flux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new DecimalFormat("#,##0.00").format(new BigDecimal($F{DEVIS_MT}))
    Ceci me donne bien mon montant sur deux décimales (incluant les "0" non significatifs), cependant, c'est la locale par défaut qui est utilisé (dans mon cas, format français ex: 1 234,50)

    J'ai donc essayé de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NumberFormat.getInstance(new Locale("en","US")).format(new BigDecimal($F{DEVIS_MT}))
    Mais si j'obtiens bien mon montant au format anglais (1,234.5), je perd mes "0" non significatifs.

    Passer par un Currency m'affiche le symbole € pour la locale FR et le symbole $ pour la locale US, or je ne veux pas voir apparaître de symbole monétaire dans ma zone de texte.

    Quelqu'un aurait une idée quand à la méthode à suivre ? (celle qui consiste à ajouter les "0" non significatifs sur mon texte final ne me plait guère, manquant singulièrement d'esthétisme )

    Par avance, merci pour vos pistes de réflexion.

    Alaster,

  2. #2
    Membre à l'essai

    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 11
    Points
    11
    Par défaut Solution
    C'est bon, j'ai trouvé la solution après une petite semaine de recherche.

    En fait, il suffisait d'implémenter un BigDecimal avec son BigDecimalFormatSymbols associé selon la locale idoine :

    format français :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new DecimalFormat("#,##0.00",new DecimalFormatSymbols(Locale.FRENCH)).format(new BigDecimal($F{DEVIS_MT}))
    Format anglais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new DecimalFormat("#,##0.00",new DecimalFormatSymbols(Locale.ENGLISH)).format(new BigDecimal($F{DEVIS_MT}))
    Tout con en fait

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/10/2013, 18h58
  2. [AC-2010] Format décimal selon clavier
    Par Robert1957 dans le forum VBA Access
    Réponses: 0
    Dernier message: 11/06/2013, 18h39
  3. Réponses: 2
    Dernier message: 17/09/2008, 15h32
  4. Afficher un nombre avec 2 décimales.
    Par Higestromm dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/02/2006, 17h12
  5. Réponses: 1
    Dernier message: 15/11/2005, 16h01

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