Bonjour,
Connaissez vous une API permettant de convertire un nombre en lettres ?
Par exemple '2 123' => 'Deux mille cent vingt trois'.
Je sais bien que c'est pas bien compliqué mais bon si ça existe déjà je suis preneur :)
merci
Version imprimable
Bonjour,
Connaissez vous une API permettant de convertire un nombre en lettres ?
Par exemple '2 123' => 'Deux mille cent vingt trois'.
Je sais bien que c'est pas bien compliqué mais bon si ça existe déjà je suis preneur :)
merci
ça devrait bien t'aider ça :
http://www.rgagnon.com/javadetails/java-0426.html
;)
Excellent, merci beaucoup pour ce lien, le code fait du bon boulot !
Je propose une méthode supplémentaire permettant de gérer les montants :
Après, on peut encore s'amuser à gérer le 's' à euros.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 /** * Impression des montants. * @param montant : le montant à imprimer. * @param separateur : le séparateur (généralement : "et ") * @param eur : le libellé pour les euros (généralement " euros ") * @param centimes : le libellé pour les centimes (généralement " centimes"). * @return : Le libellé complet du montant en toutes lettres. (ex : 124.34 : cent vingt-quatre euros et trente-quatre centimes) */ public static String convertMontant(double montant, String separateur, String eur, String centimes) { long unit = (long) montant; long cents = new BigDecimal(100*(montant - (long)montant)).setScale(0, BigDecimal.ROUND_HALF_UP).longValueExact(); String retour = convert(unit).trim() + eur; if (cents > 0) retour += separateur + convert(cents).trim() + centimes; return retour; }