Écrire une somme en toutes lettres

Écrire une somme en toute lettres

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.

Maj 05/07/2018 par jeanluc - Photo en-tête : Prieuré, Saint-Romain-le-Puy, Loire, France

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" : ""