PHP : traduire des nombres en lettres

Logo PHPVoici 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.

Share Button

Laisser un commentaire.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.