<?php
if(!function_exists('str_split')){
function str_split($string,$len = 1) {
if ($len < 1) return false;
for($i=0
, $rt = Array();$i<ceil
(strlen($string)/$len);$i++) $rt[$i] = substr($string, $len*$i, $len); return($rt);
}
}
'minus',
'zero',
'jeden',
'dwa',
'trzy',
'cztery',
'pięć',
'sześć',
'siedem',
'osiem',
'dziewięć'),
'dziesięć',
'jedenaście',
'dwanaście',
'trzynaście',
'czternaście',
'piętnaście',
'szesnaście',
'siedemnaście',
'osiemnaście',
'dziewiętnaście'),
'dziesięć',
'dwadzieścia',
'trzydzieści',
'czterdzieści',
'pięćdziesiąt',
'sześćdziesiąt',
'siedemdziesiąt',
'osiemdziesiąt',
'dziewięćdziesiąt'),
'sto',
'dwieście',
'trzysta',
'czterysta',
'pięćset',
'sześćset',
'siedemset',
'osiemset',
'dziewięćset'),
'tysiąc',
'tysiące',
'tysięcy'),
'milion',
'miliony',
'milionów'),
'miliard',
'miliardy',
'miliardów'),
'bilion',
'biliony',
'bilionów'),
'biliard',
'biliardy',
'biliardów'),
'trylion',
'tryliony',
'trylionów'),
'tryliard',
'tryliardy',
'tryliardów'),
'kwadrylion',
'kwadryliony',
'kwadrylionów'),
'kwintylion',
'kwintyliony',
'kwintylionów'),
'sekstylion',
'sekstyliony',
'sekstylionów'),
'septylion',
'septyliony',
'septylionów'),
'oktylion',
'oktyliony',
'oktylionów'),
'nonylion',
'nonyliony',
'nonylionów'),
'decylion',
'decyliony',
'decylionów')
);
function odmiana($odmiany, $int){ // $odmiany = Array('jeden','dwa','pięć')
$txt = $odmiany[2];
if ($int == 1) $txt = $odmiany[0];
$jednosci = (int
) substr($int,-1
); $reszta = $int % 100;
if (($jednosci > 1 && $jednosci < 5) &! ($reszta > 10 && $reszta < 20))
$txt = $odmiany[1];
return $txt;
}
function liczba($int){ // odmiana dla liczb < 1000
$wynik = '';
if ($j == 0) return $slowa[1][0];
$jednosci = $j % 10;
$dziesiatki = ($j % 100 - $jednosci) / 10;
$setki = ($j - $dziesiatki*10 - $jednosci) / 100;
if ($setki > 0) $wynik .= $slowa[4][$setki-1].' ';
if ($dziesiatki > 0)
if ($dziesiatki == 1) $wynik .= $slowa[2][$jednosci].' ';
else
$wynik .= $slowa[3][$dziesiatki-1].' ';
if ($jednosci > 0 && $dziesiatki != 1) $wynik .= $slowa[1][$jednosci].' ';
return $wynik;
}
function slownie($int){
$out = '';
if ($in{0} == '-'){
$out = $slowa[0].' ';
}
$txt = str_split
(strrev($in), 3
);
if ($in == 0) $out = $slowa[1][0].' ';
for ($i = count($txt) - 1; $i >= 0; $i--){ $liczba = (int
) strrev($txt[$i]); if ($liczba > 0)
if ($i == 0)
$out .= liczba($liczba).' ';
else
$out .= ($liczba > 1 ? liczba($liczba).' ' : '')
.odmiana( $slowa[4 + $i], $liczba).' ';
}
}
?>
efekt działania na zmiennej 1000 to:
Do zapłaty: 1000 zł
Słownie:
(tysiąc zł)
Moje pytanie brzmi jak zrobic aby przy jednym tysiacu dodawalo tez slowo jeden z przodu
Do zapłaty: 1000 zł
Słownie:
(jeden tysiąc zł)