Écrire une somme en toutes lettres
Écrire une somme en toutes 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.
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 non de centime : somme.Frac()==0 ?"" : ...
du pluriel de centime : somme.Frac()*100>1 ? "s" : ""