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

API standards et tierces Java Discussion :

Convertir un nombre en lettres ?


Sujet :

API standards et tierces Java

  1. #1
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut Convertir un nombre en lettres ?
    Bonjour,
    Connaissez vous une API permettant de convertire un nombre en lettres ?
    Par exemple '2 123' => 'Deux mille cent vingt trois'.

    Je sais bien que c'est pas bien compliqué mais bon si ça existe déjà je suis preneur

    merci

  2. #2
    Membre actif Avatar de Sebou77
    Inscrit en
    Mars 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2006
    Messages : 212
    Points : 223
    Points
    223
    Par défaut
    ça devrait bien t'aider ça :

    http://www.rgagnon.com/javadetails/java-0426.html


  3. #3
    Membre averti
    Avatar de if_zen
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 275
    Points : 317
    Points
    317
    Par défaut
    Excellent, merci beaucoup pour ce lien, le code fait du bon boulot !

    Je propose une méthode supplémentaire permettant de gérer les montants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    /**
     * Impression des montants.
     * @param montant        : le montant à imprimer.
     * @param separateur    : le séparateur (généralement : "et ")
     * @param eur            : le libellé pour les euros (généralement " euros ")
     * @param centimes        : le libellé pour les centimes (généralement " centimes").
     * @return    : Le libellé complet du montant en toutes lettres. (ex : 124.34 : cent vingt-quatre euros et trente-quatre centimes)
     */
    public static String convertMontant(double montant, String separateur, String eur, String centimes)
    {
        long unit = (long) montant;
        long cents = new BigDecimal(100*(montant - (long)montant)).setScale(0, BigDecimal.ROUND_HALF_UP).longValueExact();
     
        String retour = convert(unit).trim() + eur;
        if (cents > 0)
            retour += separateur + convert(cents).trim() + centimes;
        return retour;
    }
    Après, on peut encore s'amuser à gérer le 's' à euros.

Discussions similaires

  1. convertir un nombre en lettre
    Par moha1984 dans le forum C#
    Réponses: 8
    Dernier message: 16/09/2023, 00h21
  2. Convertir un nombre en lettre
    Par hpalpha dans le forum Contribuez
    Réponses: 2
    Dernier message: 22/12/2017, 09h07
  3. convertir un nombre en Lettre en python
    Par hirondellle dans le forum Général Python
    Réponses: 1
    Dernier message: 09/03/2012, 11h45
  4. [AC-2000] comment convertir un nombre en lettre
    Par finetos dans le forum Access
    Réponses: 2
    Dernier message: 19/11/2009, 19h58
  5. Convertir un nombre en lettre et en anglais
    Par lessoy dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/03/2007, 18h15

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