Bonjour,
je cherche un code qui convertie mes chiffre en lettre par exemple :merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 655 >>six cent cinquante-cinq
Bonjour,
je cherche un code qui convertie mes chiffre en lettre par exemple :merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 655 >>six cent cinquante-cinq
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $fmt = new NumberFormatter('fr_FR', NumberFormatter::SPELLOUT); echo $fmt->format(655); //six-cent-cinquante-cinq
Merci,
Mais j'ai l'erreur :je travaille avec php5.2.6
Code : Sélectionner tout - Visualiser dans une fenêtre à part Fatal error: Class 'NumberFormatter' not found
Un petit clic jusque sur la doc : http://fr.php.net/manual/fr/numberformatter.create.php
Donc PHP 5.3.0 minimum
Donc pour la version 5.2.6 existe t'il une solution ?
solution est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 <?php 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); } } echo int2str("655"); // six-cent-cinquante-cinq
Partager