[PHP] Convertir un chiffre en lettre
Fermé
outhman83
Messages postés
9
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
21 novembre 2008
-
18 sept. 2007 à 13:44
inegenieur180 Messages postés 1 Date d'inscription jeudi 30 décembre 2021 Statut Membre Dernière intervention 30 décembre 2021 - 30 déc. 2021 à 03:29
inegenieur180 Messages postés 1 Date d'inscription jeudi 30 décembre 2021 Statut Membre Dernière intervention 30 décembre 2021 - 30 déc. 2021 à 03:29
A voir également:
- Chiffre to lettre
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Clavier iphone chiffre et lettre - Guide
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
- Qwerty to azerty - Guide
3 réponses
Airwolf77
Messages postés
2
Date d'inscription
vendredi 27 février 2009
Statut
Membre
Dernière intervention
27 mars 2009
10
18 mars 2009 à 16:24
18 mars 2009 à 16:24
Je te donne une vrai réponse (très tardive mais comme cela sort en 1 sur Google, je préfère une bonne réponse de suite) :
<?php function int2str($a){ if ($a<0) return 'moins '.int2str(-$a); if ($a<17){ switch ($a){ case 0: return 'zero'; case 1: return 'un'; case 2: return 'deux'; case 3: return 'trois'; case 4: return 'quatre'; case 5: return 'cinq'; case 6: return 'six'; case 7: return 'sept'; case 8: return 'huit'; case 9: return 'neuf'; case 10: return 'dix'; case 11: return 'onze'; case 12: return 'douze'; case 13: return 'treize'; case 14: return 'quatorze'; case 15: return 'quinze'; case 16: return 'seize'; } } else if ($a<20){ return 'dix-'.int2str($a-10); } else if ($a<100){ if ($a%10==0){ switch ($a){ case 20: return 'vingt'; case 30: return 'trente'; case 40: return 'quarante'; case 50: return 'cinquante'; case 60: return 'soixante'; case 70: return 'soixante-dix'; case 80: return 'quatre-vingt'; case 90: return 'quatre-vingt-dix'; } } else if ($a<70){ return int2str($a-$a%10).' '.int2str($a%10); } else if ($a<80){ return int2str(60).' '.int2str($a%20); } else{ return int2str(80).' '.int2str($a%20); } } else if ($a==100){ return 'cent'; } else if ($a<200){ return int2str(100).' '.int2str($a%100); } else if ($a<1000){ return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100); } else if ($a==1000){ return 'mille'; } else if ($a<2000){ return int2str(1000).' '.int2str($a%1000).' '; } else if ($a<1000000){ return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000); } //on pourrait pousser pour aller plus loin, mais c'est sans interret pour ce projet, et pas interessant, c'est pas non plus compliqué... } echo int2str("19994"); // et voilà ce que ca donne ?>
2 juil. 2010 à 13:07
function int2str($a){
$joakim = explode('.',$a);
if (isset($joakim[1]) && $joakim[1]!=''){
return int2str($joakim[0]).' virgule '.int2str($joakim[1]) ;
}
if ($a<0) return 'moins '.int2str(-$a);
if ($a<17){
switch ($a){
case 0: return 'zero';
case 1: return 'un';
case 2: return 'deux';
case 3: return 'trois';
case 4: return 'quatre';
case 5: return 'cinq';
case 6: return 'six';
case 7: return 'sept';
case 8: return 'huit';
case 9: return 'neuf';
case 10: return 'dix';
case 11: return 'onze';
case 12: return 'douze';
case 13: return 'treize';
case 14: return 'quatorze';
case 15: return 'quinze';
case 16: return 'seize';
}
} else if ($a<20){
return 'dix-'.int2str($a-10);
} else if ($a<100){
if ($a%10==0){
switch ($a){
case 20: return 'vingt';
case 30: return 'trente';
case 40: return 'quarante';
case 50: return 'cinquante';
case 60: return 'soixante';
case 70: return 'soixante-dix';
case 80: return 'quatre-vingt';
case 90: return 'quatre-vingt-dix';
}
} elseif (substr($a, -1)==1){
if( ((int)($a/10)*10)<70 ){
return int2str((int)($a/10)*10).'-et-un';
} elseif ($a==71) {
return 'soixante-et-onze';
} elseif ($a==81) {
return 'quatre-vingt-un';
} elseif ($a==91) {
return 'quatre-vingt-onze';
}
} elseif ($a<70){
return int2str($a-$a%10).'-'.int2str($a%10);
} elseif ($a<80){
return int2str(60).'-'.int2str($a%20);
} else{
return int2str(80).'-'.int2str($a%20);
}
} else if ($a==100){
return 'cent';
} else if ($a<200){
return int2str(100).' '.int2str($a%100);
} else if ($a<1000){
return int2str((int)($a/100)).' '.int2str(100).' '.int2str($a%100);
} else if ($a==1000){
return 'mille';
} else if ($a<2000){
return int2str(1000).' '.int2str($a%1000).' ';
} else if ($a<1000000){
return int2str((int)($a/1000)).' '.int2str(1000).' '.int2str($a%1000);
}
}
17 janv. 2012 à 15:32
<?php
function int2str($a){
...........................................
.........................................
} else if ($a<1000000){
//ajoutez ceci
if($a%1000!=0){
$reste=int2str($a%1000);
}
else
{$reste='';
}
return int2str((int)($a/1000)).' '.int2str(1000).' '.$reste;
}
}
?>