Accueil > > > CONVERTISSEUR MONTANT --> TEXT
CONVERTISSEUR MONTANT --> TEXT
Information sur la source
Description
Ce script à besoin de 3 infos : - 1 montant en format xxxxxxxx.xx - 1 monnaie en format EUR - GBP - CAD - USD - 1 langue en format fr - en Il donne une chaine de caractère avec le montant en lettre
Source
- <?php
-
- // fonction pour transformer les montants chiffre => montant en lettre
- 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=>" Cents");
- }
-
- // 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;
- }
-
- // fonction de convertion d'un chiffre à 3 digits en lettre
- function cenvtir($Valeur,$Langue){
-
- $code = "";
-
- if ($Langue == "en"){
-
- //text en claire pour l'anglais
- $SUnit = "One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen SeventeenEighteen Nineteen ";
- $SDiz = "Twenty Thirty Forty Fifty Sixty SeventyEighty Ninety ";
-
- if ($Valeur>99) {
- $N1= intval($Valeur/100);
- if ($N1>1){
- $code = $code.trim(substr($SUnit,($N1-1)*9,9));
- }
- $Valeur = $Valeur - ($N1*100);
- if ($code != ""){
- $code = $code." Hundreds ";
- }else{
- $code = " One Hundred ";
- }
- }
- if ($Valeur != 0){
- if ($Valeur > 19) {
- $N1 = intval($Valeur/10);
- $code = $code.trim(substr($SDiz,($N1-2)*7,7));
-
- $N1 = intval($Valeur/10)*10;
- $Valeur = $Valeur - $N1;
- }
- if ($Valeur > 0){
- $code = $code." ".trim(substr($SUnit,(intval($Valeur)-1)*9,9));
- }
-
- }
- }else{
-
- //text en claire pour le français
- $SUnit = "et Un Deux Trois Quatres Cinq Six Sept Huit Neuf Dix Onze Douze Treize QuatorzeQuinze Seize Dix-SeptDix-HuitDix-Neuf";
- $SDiz = "Vingt Trente Quarante Cinquante Soixante Soixante Quatre VingtQuatre Vingt";
-
- if ($Valeur>99) {
- $N1= intval($Valeur/100);
- if ($N1>1){
- $code = $code.trim(substr($SUnit,($N1-1)*8,8));
- }
- $Valeur = $Valeur - ($N1*100);
- if ($code != ""){
- $code = $code." Cents ";
- }else{
- $code = " Cent ";
- }
- }
- if ($Valeur != 0){
- if ($Valeur > 19) {
- $N1 = intval($Valeur/10);
- $code = $code.trim(substr($SDiz,($N1-2)*12,12));
-
- $N1 = intval($Valeur/10)*10;
- if (($Valeur>=70) and($Valeur<80)or($Valeur>=90)){
- $Valeur = $Valeur + 10;
- }
- $Valeur = $Valeur - $N1;
- }
- if ($Valeur > 0){
- $code = $code." ".trim(substr($SUnit,(intval($Valeur)-1)*8,8));
- }
-
- }
- }
- return $code;
- }
-
- ?>
<?php
// fonction pour transformer les montants chiffre => montant en lettre
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=>" Cents");
}
// 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;
}
// fonction de convertion d'un chiffre à 3 digits en lettre
function cenvtir($Valeur,$Langue){
$code = "";
if ($Langue == "en"){
//text en claire pour l'anglais
$SUnit = "One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen SeventeenEighteen Nineteen ";
$SDiz = "Twenty Thirty Forty Fifty Sixty SeventyEighty Ninety ";
if ($Valeur>99) {
$N1= intval($Valeur/100);
if ($N1>1){
$code = $code.trim(substr($SUnit,($N1-1)*9,9));
}
$Valeur = $Valeur - ($N1*100);
if ($code != ""){
$code = $code." Hundreds ";
}else{
$code = " One Hundred ";
}
}
if ($Valeur != 0){
if ($Valeur > 19) {
$N1 = intval($Valeur/10);
$code = $code.trim(substr($SDiz,($N1-2)*7,7));
$N1 = intval($Valeur/10)*10;
$Valeur = $Valeur - $N1;
}
if ($Valeur > 0){
$code = $code." ".trim(substr($SUnit,(intval($Valeur)-1)*9,9));
}
}
}else{
//text en claire pour le français
$SUnit = "et Un Deux Trois Quatres Cinq Six Sept Huit Neuf Dix Onze Douze Treize QuatorzeQuinze Seize Dix-SeptDix-HuitDix-Neuf";
$SDiz = "Vingt Trente Quarante Cinquante Soixante Soixante Quatre VingtQuatre Vingt";
if ($Valeur>99) {
$N1= intval($Valeur/100);
if ($N1>1){
$code = $code.trim(substr($SUnit,($N1-1)*8,8));
}
$Valeur = $Valeur - ($N1*100);
if ($code != ""){
$code = $code." Cents ";
}else{
$code = " Cent ";
}
}
if ($Valeur != 0){
if ($Valeur > 19) {
$N1 = intval($Valeur/10);
$code = $code.trim(substr($SDiz,($N1-2)*12,12));
$N1 = intval($Valeur/10)*10;
if (($Valeur>=70) and($Valeur<80)or($Valeur>=90)){
$Valeur = $Valeur + 10;
}
$Valeur = $Valeur - $N1;
}
if ($Valeur > 0){
$code = $code." ".trim(substr($SUnit,(intval($Valeur)-1)*8,8));
}
}
}
return $code;
}
?>
Conclusion
c'est bien pour remplir les chèques
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 0ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 0 par Philess
L'extensibilité du Team Web Access
Le Web Access (site d'équipe) de Team Foundation Server a été complètement réécrit dans la version 2012 avec pas moins de 400.000 lignes de JavaScript. Ce nouveau modèle a été pensé pour offrir de grandes...
Cliquez pour lire la suite de l'article par Philess SIMULER FACILEMENT L'ENVOI DE MAILSIMULER FACILEMENT L'ENVOI DE MAIL par JeremyJeanson
il m'a été demandé, à plusieurs reprises, comment je faisais pour simuler l'envoi de mail lors de mes démos de Workflow Foundation. Ma solution est plutôt simple : j'utilise la configuration par défaut du SmtpClient et j'oriente les mails vers un dossier ...
Cliquez pour lire la suite de l'article par JeremyJeanson VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Forum
WMIC CSPRODUCT WMIC CSPRODUCT par gpsa1
Cliquez pour lire la suite par gpsa1
Logiciels
Easy-Planning (4.5.0.11)EASY-PLANNING (4.5.0.11)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté a... Cliquez pour télécharger Easy-Planning CVEasy (3.1.0.51)CVEASY (3.1.0.51)PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante.
PHMSD-C... Cliquez pour télécharger CVEasy LettresFaciles 2011 (8.6.0.31)LETTRESFACILES 2011 (8.6.0.31)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011 sDEVIS-FACTURES vlPRO (8.4.2.62)SDEVIS-FACTURES VLPRO (8.4.2.62)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO Devis-Factures PHMSD (2.1.0.11)DEVIS-FACTURES PHMSD (2.1.0.11)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD
|