Voici 2 façons de convertir un nombre en lettres, en utilisant PHP.
Ces solutions marchent avec des décimales, et sont compatibles avec plusieurs langues.
NumberFormatter
La classe NumberFormatter peut être utilisé pour effectuer cette tâche grâce à l’option NumberFormatter::SPELLOUT
.
Nuts
La classe Nuts, qui est disponible sur ce sujet, a été créée exclusivement pour la traduction de nombres en lettres. Une page de test existe ici.
Voici un bout de code qui permet de tester ces 2 solutions, il faut auparavant enregistrer la classe nuts dans un fichier nuts.php
.
require_once 'nuts.php';
// affichage du nombre
$nombre = 1405.23;
echo $nombre;
// méthode avec la classe nuts
$nuts = new nuts($nombre, 'EUR');
echo $nuts->convert('fr-FR');
// méthode avec la classe NumberFormatter
$nf = new NumberFormatter('fr', NumberFormatter::SPELLOUT);
echo $nf->format($nombre);
La classe Nuts semble être la plus fidèle à la grammaire française.
merci pour votre explication mais elle peux pas être intégrer dans tout les situation T_T
Cet article a maintenant 10 ans, je pense qu’il y a d’autres façons de faire depuis :)