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

R Discussion :

Transformer un nombre en lettres et en français


Sujet :

R

  1. #1
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 549
    Points : 243
    Points
    243
    Par défaut Transformer un nombre en lettres et en français
    Bonjour à tous,
    Quelqu'un connaît-il un moyen de transformer un nombre, dans son équivalent en lettres, et en français.

    Pour les nombres supérieurs à 0, aller jusqu'au milliard devrait suffire. Au-delà, on peut toujours dire Milliards de milliards, voire milliards de milliards de milliards.
    Et au-delà, il reste l'écriture scientifique (exemple : Dix Puissance Cent-Vingt-Huit).
    Mais une fonction qui se limiterait au milliard devrait me suffire.

    Pour les nombres inférieurs à 0, il y a des choix à faire. On peut dire "Zéro virgule", puis énoncer chaque chiffre.
    Exemple : 3,141593 pourrait devenir "Trois virgule Un Quatre Un Cinq Neuf Trois".
    Mais on peut aussi regrouper les nombres par deux ou par trois. Ça donnerait "Trois virgule quatorze, quinze, quatre-vingt treize" ou bien "Trois virgule Centre Quarante-et-Un, Cinq Cent Quatre-Vingt-Treize".

    Au final, c'est une fonction qui peut servir mais qui me semble assez longue à définir.

    Merci d'avance

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 707
    Points : 1 320
    Points
    1 320
    Par défaut Transformer un nombre en lettres
    Bonjour,

    Vous précisez "en français" donc je suppose que vous avez vu des packages faisant la transformation en anglais.

    Le package xfun fonctionne sur les nombres entiers et décimaux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    > xfun::numbers_to_words(1001001001001)
    [1] "one trillion, one billion, one million, one thousand, one"
    > xfun::numbers_to_words(1e+15 - 1)
    [1] "nine hundred ninety-nine trillion, nine hundred ninety-nine billion, nine hundred ninety-nine million, nine hundred ninety-nine thousand, nine hundred ninety-nine"
    > xfun::numbers_to_words(3.141593)
    [1] "three point one four one five nine three"
    Je pense que le plus simple serait d'adapter cette fonction au français.

    N.B. : Dans l'autre sens, le package numberize gère l'anglais, le français et l'espagnol mais fonctionne uniquement sur les nombres entiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    > numberize::numberize("one trillion, one billion, one million,one thousand, one", lang = "en")
    [1] 1001001001001
    > numberize::numberize("un billion un milliard un million mille un", lang = "fr")
    [1] 1001001001001
    > numberize::numberize("three point one four one five nine three", lang = "en")
    [1] NA
    Message d'avis :
    Dans digits_from(text, lang) :
      [three point one four one five nine three] can be interpreted in different ways.
    Cordialement,

  3. #3
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 549
    Points : 243
    Points
    243
    Par défaut
    Bonjour mgdondon
    Je ne connais pas ces packages en anglais parce que c'est bien leur équivalent français que je cherchais.
    Mais comme ceux-ci ne semblent pas exister, je pense que je vais essayer de me satisfaire des packages en anglais, en essayant de transformer leurs résultats avec des mots français.
    Merci pour vos réponses toujours très efficientes.
    enicnath

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

Discussions similaires

  1. Comment transformer un nombre en forme lettres
    Par DelphiCool dans le forum Codes sources à télécharger
    Réponses: 1
    Dernier message: 08/02/2013, 20h26
  2. Transformer nombre en lettre
    Par mic122 dans le forum VBA Access
    Réponses: 3
    Dernier message: 31/05/2007, 22h49
  3. Transformer un nombre en lettres
    Par doxys dans le forum Access
    Réponses: 5
    Dernier message: 04/07/2006, 23h22

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