Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1736 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Petit probleme ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Petit probleme ...

n°1503401
rodolphe23​1
Posté le 15-01-2007 à 22:59:48  profilanswer
 

Bonjour, je voudrais faire une transformation d'un nombre de chiffres (entier) en lettres. Pour cela, j'ai fais mon code, et il ne veux pas marcher correctement, pourriez vous m'aider s'il vous plait ? Le voici :
 

Code :
  1. <?php
  2. function convertitNombreEnLettres($nombreAConvertir)
  3. {
  4. $tablePuissancesDeDix = array("", "mille", "millions", "milliards" );
  5. $tableConversionEtapeDeux = array("", "dix", "vingt", "trente", "quarante", "cinquante", "soixante", "soixante", "quatre-vingt", "quatre-vingt" );
  6. $tableConversionEtapeUnOuTrois = array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf" );
  7. $tableConversionDeLaDizaineQuiFaitChier = array("", "onze", "douze", "treize", "quatorze", "quinze", "seize" );
  8. $nombreAConvertir = number_format($nombreAConvertir);
  9. $tableauTemporaire = explode(',', $nombreAConvertir);
  10. for($i=0; $i<count($tableauTemporaire); $i++)
  11. {
  12.  for($j=0; $j<strlen($tableauTemporair[$i]); $j++)
  13.  {
  14.   switch($j)
  15.   {
  16.    case strlen($tableauTemporaire[$i])-3:
  17.     if(substr($tableauTemporaire[$i], $j, 1) > 0)
  18.     {
  19.      if(substr($tableauTemporaire[$i], $j, 1) > 1)
  20.       echo $tableConversionEtapeUnOuTrois[substr($tableauTemporaire[$i], $j, 1)];
  21.      echo " cents ";
  22.     }
  23.     break;
  24.    case strlen($tableauTemporaire[$i])-2:
  25.     if(substr($tableauTemporaire[$i], $j, 1) > 1)
  26.      echo $tableConversionEtapeDeux[substr($tableauTemporaire[$i], $j, 1)];
  27.     if(substr($tableauTemporaire[$i], $j, 1) == 1 || substr($tableauTemporaire[$i], $j, 1) == 7 || substr($tableauTemporaire[$i], $j, 1) == 9)
  28.      if(substr($tableauTemporaire[$i], $j+1, 1) > 6)
  29.       echo "-dix";
  30.     break;
  31.    case strlen($tableauTemporaire[$i])-1:
  32.     if(substr($tableauTemporaire[$i], $j, 1) == 1)
  33.      echo " et ";
  34.     if(substr($tableauTemporaire[$i], $j-1, 1) == 1 ||substr($tableauTemporaire[$i], $j-1, 1) == 7 || substr($tableauTemporaire[$i], $j-1, 1) == 9)
  35.      if(substr($tableauTemporaire[$i], $j, 1) < 7)
  36.       echo "-".$tableConversionDeLaDizaineQuiFaitChier[substr($tableauTemporaire[$i], $j, 1)];
  37.      else
  38.       echo "-".$tableConversionEtapeUnOuTrois[substr($tableauTemporaire[$i], $j, 1)];
  39.     else
  40.      echo "-".$tableConversionEtapeUnOuTrois[substr($tableauTemporaire[$i], $j, 1)];
  41.     break;
  42.   }
  43.  }
  44.  echo " ".$tablePuissancesDeDix[count($tableauTemporaire)-$i-1]." ";
  45. }
  46. }
  47. convertitNombreEnLettres(124036977);
  48. ?>


---------------
Recherche Programmeur Php/MySql ! MP !
mood
Publicité
Posté le 15-01-2007 à 22:59:48  profilanswer
 

n°1503404
sielfried
Posté le 15-01-2007 à 23:11:37  profilanswer
 

Ligne 13...

n°1503406
rodolphe23​1
Posté le 15-01-2007 à 23:16:12  profilanswer
 

Oups !!! Merci beaucoup, shui étourdi :s merci :)

n°1503407
rodolphe23​1
Posté le 15-01-2007 à 23:17:01  profilanswer
 

for($j=0; $j<strlen($tableauTemporaire[$i]); $j++)

n°1503411
sielfried
Posté le 15-01-2007 à 23:20:08  profilanswer
 

Mets ton error_reporting sur E_ALL (tant qu'à faire E_ALL | E_STRICT) dans php.ini et t'auras un joli warning ("Notice" plutôt) sur ce genre d'erreurs d'étourderies (je me suis pas amusé à scruter chaque ligne heureusement).
 
Si t'as pas accès à php.ini, voir error_reporting.

n°1503445
rodolphe23​1
Posté le 16-01-2007 à 07:25:21  profilanswer
 

okè dac' !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Petit probleme ...

 

Sujets relatifs
[Shell] Petit probleme avec un script[xHtml/CSS]Petit probleme validateur W3C
Petit problème d'ordre numérique pour classement de fichierspetit problème avec les pointeurs
résolu [API win32] probleme avec un petit exercicePetit problème avec un script qui test la date d'installation de windo
petit problème de moispetit problème avec somme
[C++/ihm VB] Petit problème de conceptionPetit problème de sockets génant
Plus de sujets relatifs à : Petit probleme ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR