Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cyfry > Słowa
Forum PHP.pl > Forum > Przedszkole
modern
Witam... mam pewien problem...
dorwałem gdzies skrypt (chyba nawet z tego forum) ktory przerabia cyfry na słowa
no wszystko fajnie... działa... ale okazało się że potrzeba mi milionów...
a skrypt dziala tylko do 999 999 : / a sam nie umiem tego dorobić
próbowałem dodać array i cos tam jeszcze z elseif... ale wszystko sie sypało : (
ktoś wie jak to 'dorobić'?
bo wg. podpowiedzi autora jest to banalne... ale nie dla mnie : (

  1. <?
  2.  
  3. $jedn=array(1=>"jeden","dwa","trzy","cztery","pięć","sześć","siedem","osiem","dziewięć","dziesięć","jedenaście","dwanaście",
  4.             "trzynaście","czternaście","piętnaście","szesnaście","siedemnaście","osiemnaście","dziewiętnaście");
  5.             
  6. $dzies=array(2=>"dwadzieścia","trzydzieści","czterdzieści","pięćdziesiąt","sześćdziesiąt","siedemdziesiąt","osiemdziesiąt","dziewięćdziesiąt");
  7.  
  8. $setki=array(1=>"sto","dwieście","trzysta","czterysta","pięćset","sześćset","siedemset","osiemset","dziewięćset");            
  9.  
  10.  
  11. function kwota_slownie($kwota) {
  12.   
  13.   global $jedn,$dzies,$setki;     
  14.  
  15.   // usuniecie zbednych zer z poczatku ciagu (zeby np. "009" bylo zamieniane na "dziewiec")
  16.   $kwota=(string)(floor($kwota));
  17.   $kwota=ereg_replace("^(0)","",$kwota);    
  18.     
  19.   $str_dl=strlen($kwota);
  20.   
  21.   if ($kwota<20) { $slownie=$jedn[$kwota]; }
  22.   
  23.   elseif ($kwota<100) { 
  24.       
  25.     $j=$kwota[1];   $d=$kwota[0];
  26.     $slownie=$dzies[$d]." ".$jedn[$j];
  27.     
  28.   }    
  29.   
  30.   elseif ($kwota<1000) { 
  31.       
  32.     $s=$kwota[0];
  33.     $d=substr($kwota,1,$str_dl);
  34.     $slownie=$setki[$s]." ".kwota_slownie($d); 
  35.     
  36.   }
  37.   
  38.   elseif ($kwota<1000000) {         
  39.     
  40.     $d=substr($kwota,-3);  
  41.     if ($kwota<2000) { $t="tys."; }
  42.     elseif ($kwota<5000) { 
  43.       
  44.       $jt=$kwota[0];        
  45.       $t=$jedn[$jt]." tys.";
  46.  
  47.     }      
  48.     
  49.     else { 
  50.         
  51.       $jt=substr($kwota,0,$str_dl-3);
  52.       $t=kwota_slownie($jt)." tys.";
  53.           
  54.     }      
  55.       
  56.     $slownie=$t." ".kwota_slownie($d);    
  57.       
  58.   }     
  59.   
  60.   // to juz ponad milion - mozna zrobic tak samo jak dla tysiecy
  61.   // mi nie było to już potrzebne :)
  62.   else { $slownie=$kwota; }
  63.   
  64.   
  65.   return($slownie);
  66.   
  67. }
  68.  
  69. ?>
Lonas
A jak wyświetlić wynik tego skryptu, wpisałem na sztywno na poczatku liczbe

$kwota=543;


ale caly czas strona wyswietla mi sie pusta
Termit_
Wywołując funkcję, np.
  1. <?php
  2. // tamten kod
  3. echo kwota_slownie(543);
  4. ?>
Lonas
A ma ktoś może link do działającego skryptu który doda mi jeszcze złotych, złote i tak dalej ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.