Skip to content

Instantly share code, notes, and snippets.

View alainperry's full-sized avatar

Alain Perry alainperry

  • France Active
View GitHub Profile
@alainperry
alainperry / NbEnLettres.groovy
Last active March 16, 2017 01:39
Code groovy plutôt sale (mais très fonctionnel) adapté de http://stackoverflow.com/a/3911987/1168698 pour convertir un montant (peut en réalité être utilisé pour tout nombre) en lettres.
Number.metaClass.formatAsCurrency { withWords = false ->
def puissances = ["", "mille", "million", "milliard", "billion", "billiard", "trillion", "trilliard"]
def dizaines = ["", "", "vingt", "trente", "quarante", "cinquante", "soixante", "soixante", "quatre-vingt", "quatre-vingt"]
def unites = ["", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix-sept", "dix-huit", "dix-neuf"]
def chiffres = ["", ""] + unites[2..10]
def unitesEnLettres = { nombre ->
// débrayage immédiat pour 80, ce qui simplifie le code ensuite
if (nombre == 80)
return dizaines[8] + 's'