Mamont
Guest
очень нужен скрипт
народ мне нужен скриптик который переделывает числовое значение в эквевелентное ему значение из слов (например 2315 = две тысячи триста пятнадцать) не подскажете где можно нарыть?
я сёдня весь день писал такой и чёта он не работает вот он посмотрите пожалуста и скажите че тут не так???
заранее спасибо!!!
народ мне нужен скриптик который переделывает числовое значение в эквевелентное ему значение из слов (например 2315 = две тысячи триста пятнадцать) не подскажете где можно нарыть?
я сёдня весь день писал такой и чёта он не работает вот он посмотрите пожалуста и скажите че тут не так???
PHP:
//
// === Functsia kotoraia peredelivaet liuboe chislovoe znachenie do 999999 v ekvivalentnoe bukvennoe ===
//
function get_string_summa($sm){
// 1. zadaiutsea massivi so znachenieami
$1 = array(); $1_2 = array(); $2 = array(); $3 = array(); $4 = array(); $5 = array(); $6 = array();
$1[0] = '';
$1[1] = 'один';
$1[2] = 'два';
$1[3] = 'три';
$1[4] = 'четыре';
$1[5] = 'пять';
$1[6] = 'шесть';
$1[7] = 'семь';
$1[8] = 'восемь';
$1[9] = 'девять';
$12[1] = 'десять';
$12[1] = 'одиннадцать';
$12[2] = 'двенадцать';
$12[3] = 'тринадцать';
$12[4] = 'четырнадцать';
$12[5] = 'пятнадцать';
$12[6] = 'шестнадцать';
$12[7] = 'семнадцать';
$12[8] = 'восемнадцать';
$12[9] = 'девятнадцать';
$2[0] = '';
$2[1] = 'десять';
$2[2] = 'двалцать';
$2[3] = 'тридцать';
$2[4] = 'сорок';
$2[5] = 'пятьдесят';
$2[6] = 'шестьдесят';
$2[7] = 'семьдесят';
$2[8] = 'восемьдесят';
$2[9] = 'девяносто';
$3[0] = '';
$3[1] = 'сто';
$3[2] = 'двести';
$3[3] = 'триста';
$3[4] = 'четыреста';
$3[5] = 'пятьсот';
$3[6] = 'шестьсот';
$3[7] = 'семьсот';
$3[8] = 'восемьсот';
$3[9] = 'девятьсот';
$4[0] = ' тысяч';
$4[1] = 'одна тысяча';
$4[2] = 'две тысячи';
$4[3] = 'три тысячи';
$4[4] = 'четыре тысячи';
$4[5] = 'пять тысяч';
$4[6] = 'шесть тысяч';
$4[7] = 'семь тысяч';
$4[8] = 'восемь тысяч';
$4[9 ] = 'девять тысяч';
for($i=0;$i<10;$i++){
$5[$i] = $2[$i];
}
for($i=0;$i<10;$i++){
$6[$i] = $3[$i];
}
// opredeleaetsea cislo
$summa_str = (string)$sm; // perevodim int v string
$i = 1;
while ($i < strlen($summa_str )) : // tsikl pervogo pareadka
$k = $i*-1;
if(substr($summa_str ,-2,1) == '1'){ // dlea 10<x<20
for($j=0;$j<=9;$j++){ // tsikl vtorogo poreadka
if(substr($summa_str ,-1,1) == (string)$j) $ss = $12[$j];
}
$i += 2;
} else if(($i==4) && (substr($summa_str ,-5,1) == (string)$j)) { // dlea 10000<x<20000
for($j=0;$j<=9;$j++){
if(substr($summa_str ,-5,1) == (string)$j) $ss = $12[$j]." тысяч ";
}
$i += 2;
} else { // dlea obicnih
for($j=0;$j<=9;$j++){
if(substr($summa_str ,$k,1) == (string)$j) $ss = " ".$$i[$j];
}
$i++;
}
endwhile;
$ss = "Сумма: ".$ss." лей 00 бань";
echo $ss;
return $ss;
}