Écrire une somme en toutes lettres

Écrire une somme en toute lettres

Maj 05/07/2018

Rédigé le 27/11/2007 par Jessihash et extrait de son blog SuneidoFR. Cette contribution intéressante a été depuis intégrée dans Suneido.

Préambule

Une petite fonction utilisant la méthode EnFrancais pour écrire une somme en euro et en toutes lettres.

Le code

function(somme)
   {
   return (somme.Int().EnFrancais()) $ " euro"
   $ ((somme.Int())>1? "s" : "" )
   $ (somme.Frac() == 0? ( "" ) : ( " et "
   $ ((somme.Frac())*100).Round(0).EnFrancais()
   $ " centime" $ (((somme.Frac())*100)>1? "s" : "" )))
   }

Explications

On décompose la somme en sa partie entière et sa partie décimale :

  • Partie entière : somme.Int()
  • Partie décimale : somme.Frac()

On applique la méthode EnFrancais à ces deux parties.

On rassemble le tout en tenant compte :

  • du pluriel de euro : somme.Int()>1 ? "s" : ""
  • de l’affichage ou nom de centime : somme.Frac()==0 ?"" : ...
  • du pluriel de centime : somme.Frac()*100>1 ? "s" : ""