IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Conversion de chiffres en lettres [Sources]


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de scorpion.os
    Homme Profil pro
    Chef de projet Cobol/AS400
    Inscrit en
    Mai 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet Cobol/AS400

    Informations forums :
    Inscription : Mai 2006
    Messages : 159
    Points : 131
    Points
    131
    Par défaut [Système] Conversion de chiffres en lettres
    Bonjour les ami(e)s,
    Alors j'ai un petit souci,mon patron m'a demandé d'editer une facture en pdf,jusque là,ca va ,y'as pas de mal,mais le probleme c'est qu'a la fin de la facture,je dois ecrire(enfin pas moi,le systeme) cette phrase :" Arretez cette facture a la somme de ......".
    les 3 points de suspension veulement dire le prix en lettres .
    mais là,franchement je galere.
    Alors comment est ce que je peux convertir un chiffre,quelque soit ce chiffre, en lettres?
    Pas de langage sms, la programmation donne déjà assez mal à la tête .N'oubliez pas le

  2. #2
    Membre habitué Avatar de scorpion.os
    Homme Profil pro
    Chef de projet Cobol/AS400
    Inscrit en
    Mai 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet Cobol/AS400

    Informations forums :
    Inscription : Mai 2006
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    C bon,je l'ai trouvé,j'arrive a convertir un nombre(quelque soit ce nombre ) en lettres.
    Si quelqu'un a besoin de ce convertisseur,il n'a qu'a me le demander
    Pas de langage sms, la programmation donne déjà assez mal à la tête .N'oubliez pas le

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 27
    Points
    27
    Par défaut
    bonjour,
    est-ce que vous pourriez m'expliquer comment vous avez fait pour convertir les nombres en lettres? ça m'intéresse beaucoup
    merci d'avance

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    bonjour!
    moi aussi je suis justement en train de cherche pour resoudre le meme probleme!! je serais donc interessé!!

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Arretez moi si je me trompe mais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte = "Arretez cette facture a la somme de ".number_format($nombre, $nb_decimal, $separateur_dec, $separateur_mil);
    ne devrait pas suffire ?
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  6. #6
    Membre habitué Avatar de scorpion.os
    Homme Profil pro
    Chef de projet Cobol/AS400
    Inscrit en
    Mai 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet Cobol/AS400

    Informations forums :
    Inscription : Mai 2006
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Pour la langue,vous pouvez mettre "fr",si vous voulez voir les "millions" en francais
    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    function convertir($Montant,$Monnaie,$Langue){
     
    	// Valeur en anglais et en français
    	if ($Langue == "en"){
    		$grade = array(0 => "Zero ",1=>" Billions ",2=>" Millions ",3=>" Thousands ");
    	}else{
    		$grade = array(0 => "Zero ",1=>" Milliards ",2=>" Millions ",3=>" Mille ");
    	}
     
    	// les différente Monnaie
    	if ($Monnaie == "USD"){
    		$Mon = array(0=>" Dollar",1=>" Dollars",2=>" Cent",3=>" Cents");
    	}elseif ($Monnaie == "CAD"){
    		$Mon = array(0=>" Dollar",1=>" Dollars",2=>" Cent",3=>" Cents");
    	}elseif ($Monnaie == "GBP"){
    		$Mon = array(0=>" Pound",1=>" Pounds",2=>" Penny",3=>" Pence");
    	}else{
    		$Mon = array(0=>" Euro",1=>" Euros",2=>" Cent",3=>" Centimes");
    	}
     
    	// Mise au format pour les chéque et le SWI
     
    	$Montant = number_format($Montant,2,".","");
     
    	// Si montant = Zero
    	if ($Montant == 0){
    		$result = $grade[0].$Mon[0];
    	}else{
     
    		$result = "";
     
    		// Calcule des Unités
    		$montant = intval($Montant);
     
    		// Calcule des centimes
    		$centime = round(($Montant * 100) - ($montant * 100),0);
     
    		// Traitement pour les Milliards
    		$nombre = $montant / 1000000000;
    		$nombre = intval($nombre);
    		if ($nombre > 0){
    			if ($nombre > 1){
    				$result = $result.cenvtir($nombre,$Langue).$grade[1];
    			}else{
    				if ($Langue == "en"){
    					$result = $result." One ".$grade[1];
    					$result = substr($result,0,13)." ";
    				}else{
    					$result = $result." Un ".$grade[1];
    					$result = substr($result,0,13)." ";
    				}
    			}
    			$montant = $montant - ($nombre * 1000000000);
    		}
     
    		// Traitement pour les Millions
    		$nombre = $montant / 1000000;
    		$nombre = intval($nombre);
    		if ($nombre > 0){
    			if ($nombre > 1){
    				$result = $result.cenvtir($nombre,$Langue).$grade[2];
    			}else{
    				if ($Langue == "en"){
    					$result = $result." One ".$grade[2];
    					$result = substr($result,0,13)." ";
    				}else{
    					$result = $result." Un ".$grade[2];
    					$result = substr($result,0,12)." ";
    				}
    			}
    			$montant = $montant - ($nombre * 1000000);
    		}
     
    		// Traitement pour les Milliers
    		$nombre = $montant / 1000;
    		$nombre = intval($nombre);
    		if ($nombre > 0){
    			if ($nombre > 1){
    				$result = $result.cenvtir($nombre,$Langue).$grade[3];
    			}else{
    				if ($Langue == "en"){
    					$result = $result." One ".$grade[3];
    					$result = substr($result,0,12)." ";
    				}else{
    					$result = $result.$grade[3];
    				}
    			}
    			$montant = $montant - ($nombre * 1000);
    		}
     
    		// Traitement pour les Centaines & centimes
    		$nombre = $montant;
    		if ($nombre>0){
    			$result = $result.cenvtir($nombre,$Langue);
    		}
     
    		// Traitement si le montant = 1
    		if ((substr($result,0,6) == " et Un" and strlen($result) == 6) or (substr($result,0,4) == " One" and strlen($result) == 4)){
    			if ($Langue != "en"){
    				$result = substr($result,3,3);
    			}
    			$result = $result.$Mon[0];
    			if (intval($centime) != 0){
    				$differ = cenvtir(intval($centime),$Langue);
    				if (substr($differ,0,6) == " et Un" or substr($differ,0,4) == " One"){
    					if ($result != ""){
    						if ($Langue == "en"){
    							$differ = " and ".$differ;
    						}
    					}else{
    						if ($Langue != "en"){
    							$differ = substr($differ,3);
    						}
    					}
    					$result = $result." ".$differ.$Mon[2];
    				}else{
    					if ($Langue != "en"){
    						$result = $result." et ".$differ.$Mon[3];
    					}else{
    						$result = $result." and ".$differ.$Mon[3];
    					}
    				}
    			}
    		// Traitement si le montant > 1 ou = 0
    		}else{
    			if ($result != ""){
    				$result = $result.$Mon[1];
    			}
    			if (intval($centime) != 0){
    				$differ = cenvtir(intval($centime),$Langue);
    				if (substr($differ,0,6) == " et Un" or substr($differ,0,4) == " One"){
    					if ($result != ""){
    						if ($Langue == "en"){
    							$differ = " and ".$differ;
    						}
    					}else{
    						if ($Langue != "en"){
    							$differ = substr($differ,3);
    						}
    					}
    					$result = $result." ".$differ.$Mon[2];
    				}else{
    					if ($result != ""){
    						if ($Langue != "en"){
    							$result = $result." et ".$differ.$Mon[3];
    						}else{
    							$result = $result." and ".$differ.$Mon[3];
    						}
    					}else{
    						$result = $differ.$Mon[3];
    					}
    				}
    			}
    		}
    	}
    	return $result;
    }
    Pas de langage sms, la programmation donne déjà assez mal à la tête .N'oubliez pas le

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Convertir chiffres en lettres
    Bonjour,

    Je suis également à la recherche d'une méthode pour convertir des sommes (chiffres) en sommes (lettres) sur access 97. N'étant qu'un parfait amateur, j'ai beau chercher sur le site et le forum, je n'y trouve que des astuces, cours, réponses renvoyant à ce qui ressemble à une programmation...Mais je ne sais même pas où faut-il saisir ces données...je suis vraiment un amateur, jugez vous même. Ainsi donc, j'espérai n'être pas le seul à un tel niveau...Las! Je dois être le seul...moi qui croyais qu'un fichier téléchargeable existait et qu'il suffisait de l'intégrer au programme...nan...il faut saisir...mais où et...comment? Merci de votre compréhension dans l'examen de cette requête et éventuellement dans vos réponses...Dany

  8. #8
    Membre habitué Avatar de scorpion.os
    Homme Profil pro
    Chef de projet Cobol/AS400
    Inscrit en
    Mai 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet Cobol/AS400

    Informations forums :
    Inscription : Mai 2006
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Alors dany,tu as trouvé ton bonheur dans ce que je t'ai envoyé ou pas?
    Pas de langage sms, la programmation donne déjà assez mal à la tête .N'oubliez pas le

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Encore une conversion de chiffre en lettre Version PB
    Par GeBonet dans le forum PureBasic
    Réponses: 3
    Dernier message: 05/09/2009, 11h35
  2. [CR XI] Fonction de conversion de chiffre en lettre
    Par GodGives dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 18/05/2009, 19h46
  3. [CR 8] Conversion de chiffre en lettre
    Par sorgue84 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 16/02/2009, 16h16
  4. pl/sql fonction de conversion de chiffres en lettres
    Par sawasbanikh dans le forum PL/SQL
    Réponses: 1
    Dernier message: 18/04/2007, 14h52
  5. Conversion de chiffres en lettres
    Par Driss35 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 30/01/2006, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo