<?php
// Staring straight up into the sky ... oh my my
function spellSmallNumber( $num , $female ) {
0 => 'ноль' , 10 => 'десять' , 100 => 'сто' ,
1 => 'один' , 11 => 'одиннадцать' , 20 => 'двадцать' , 200 => 'двести' ,
2 => 'два' , 12 => 'двенадцать' , 30 => 'тридцать' , 300 => 'триста' ,
3 => 'три' , 13 => 'тринадцать' , 40 => 'сорок' , 400 => 'четыреста' ,
4 => 'четыре' , 14 => 'четырнадцать' , 50 => 'пятьдесят' , 500 => 'пятьсот' ,
5 => 'пять' , 15 => 'пятнадцать' , 60 => 'шестьдесят' , 600 => 'шестьсот' ,
6 => 'шесть' , 16 => 'шестнадцать' , 70 => 'семьдесят' , 700 => 'семьсот' ,
7 => 'семь' , 17 => 'семнадцать' , 80 => 'восемьдесят' , 800 => 'восемьсот' ,
8 => 'восемь' , 18 => 'восемнадцать' , 90 => 'девяносто' , 900 => 'девятьсот' ,
9 => 'девять' , 19 => 'девятнадцать'
) ;
1 => 'одна' , 2 => 'две'
) ;
if ( $num == 0 ) {
return $num ;
}
$hundWithoutDec = floor ( $num / 100 ) * 100 ; //убирает десятки у сотен if ( $hundWithoutDec != 0 ) {
}
$hundDec = $num % 100 ; // оставляет только десятки
if ( $hundDec >= 11 and $hundDec <= 19 ) {
} elseif ( $hundDec != 0 ) {
$hundDecWithoutOne = floor ( $hundDec / 10 ) * 10 ; //десятки без единиц if ( $hundDecWithoutOne != 0 ) {
array_push ( $result , $spelling [ $hundDecWithoutOne ] ) ; }
$hundOne = $hundDec % 10 ;
if ( $female == 1 or $female == 2 ) {
} elseif ( $female == 0 ) {
if ( $hundOne != 0 ) {
}
}
}
return $text ;
}
function getWordForm( $num , $word , $word1 , $word2 ) {
$x = $num % 100 ;
if ( $x >= 11 and $x <= 20 ) {
return $word2 ;
}
else {
$z = $num % 10 ;
if ( $z == 1 ) {
return $word ; // тысяча, миллион
}
$z = $num % 10 ;
if ( $z >= 2 && $z <= 4 ) {
return $word1 ; //тысячи, миллиона
}
else {
return $word2 ; // тысяч, миллионов
}
}
}
function inclineWord( $number , $word1 , $word2 , $word5 ) {
$x = $number % 100 ;
if ( $x >= 11 and $x <= 19 ) {
return $word5 ;
} else {
$last2Digits = $number % 10 ;
if ( $last2Digits == 1 ) {
return $word1 ;
} elseif ( $last2Digits >= 2 and $last2Digits <= 4 ) {
return $word2 ;
} else {
return $word5 ;
}
}
}
function spellNumber( $number ) {
$millions = floor ( $number / 1000000 ) ; //миллионы $hundredThous = floor ( $number / 1000 ) ; //без тысяч сотни тысяч $hundWithoutMil = $hundredThous % 1000 ; // сотни тысяч
$hundred = $number % 1000 ; //просто сотни
$fem = $hundWithoutMil % 10 ;
if ( $fem == 1 ) {
$female = 1 ;
} elseif ( $fem == 2 ) {
$female = 2 ;
} else {
$female = 0 ;
}
$numberToString = array ( ) ; $milWord = getWordForm( $millions , "миллион" , "миллиона" , "миллионов" ) ;
$thous = spellSmallNumber( $hundWithoutMil , $female ) ;
$thousWord = getWordForm( $hundWithoutMil , "тысяча" , "тысячи" , "тысяч" ) ;
$hund = spellSmallNumber( $hundred , NULL ) ;
$hundRouble = inclineWord( $hundred , "рубль" , "рубля" , "рублей" ) ;
$end = implode ( " " , $numberToString ) ; return $end ;
}
$text1 = spellNumber( $amount1 ) ;
echo "На вашем счету {$text1} \n " ;
echo "($amount1 )\n " ;
$text2 = spellNumber( $amount2 ) ;
echo "На вашем счету {$text2} \n " ;
echo "($amount2 )\n " ;
$text3 = spellNumber( $amount3 ) ;
echo "На вашем счету {$text3} \n " ;
echo "($amount3 )\n " ;
$text4 = spellNumber( $amount4 ) ;
echo "На вашем счету {$text4} \n " ;
echo "($amount4 )\n " ;
?>
PD9waHAKIAovLyBTdGFyaW5nIHN0cmFpZ2h0IHVwIGludG8gdGhlIHNreSAuLi4gb2ggbXkgbXkKZXJyb3JfcmVwb3J0aW5nKC0xKTsKIApmdW5jdGlvbiBzcGVsbFNtYWxsTnVtYmVyKCRudW0sICRmZW1hbGUpIHsKJHJlc3VsdCA9IGFycmF5KCk7Cgkkc3BlbGxpbmcgPSBhcnJheSgKICAgICAgICAwICAgPT4gICfQvdC+0LvRjCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwICA9PiAgJ9C00LXRgdGP0YLRjCcsICAgICAgIDEwMCA9PiAgJ9GB0YLQvicsCiAgICAgICAgMSAgID0+ICAn0L7QtNC40L0nLCAgICAgICAgIDExICA9PiAgJ9C+0LTQuNC90L3QsNC00YbQsNGC0YwnLCAgICAgIDIwICA9PiAgJ9C00LLQsNC00YbQsNGC0YwnLCAgICAgMjAwID0+ICAn0LTQstC10YHRgtC4JywKICAgICAgICAyICAgPT4gICfQtNCy0LAnLCAgICAgICAgICAxMiAgPT4gICfQtNCy0LXQvdCw0LTRhtCw0YLRjCcsICAgICAgIDMwICA9PiAgJ9GC0YDQuNC00YbQsNGC0YwnLCAgICAgMzAwID0+ICAn0YLRgNC40YHRgtCwJywKICAgICAgICAzICAgPT4gICfRgtGA0LgnLCAgICAgICAgICAxMyAgPT4gICfRgtGA0LjQvdCw0LTRhtCw0YLRjCcsICAgICAgIDQwICA9PiAgJ9GB0L7RgNC+0LonLCAgICAgICAgNDAwID0+ICAn0YfQtdGC0YvRgNC10YHRgtCwJywKICAgICAgICA0ICAgPT4gICfRh9C10YLRi9GA0LUnLCAgICAgICAxNCAgPT4gICfRh9C10YLRi9GA0L3QsNC00YbQsNGC0YwnLCAgICAgNTAgID0+ICAn0L/Rj9GC0YzQtNC10YHRj9GCJywgICAgNTAwID0+ICAn0L/Rj9GC0YzRgdC+0YInLAogICAgICAgIDUgICA9PiAgJ9C/0Y/RgtGMJywgICAgICAgICAxNSAgPT4gICfQv9GP0YLQvdCw0LTRhtCw0YLRjCcsICAgICAgIDYwICA9PiAgJ9GI0LXRgdGC0YzQtNC10YHRj9GCJywgICA2MDAgPT4gICfRiNC10YHRgtGM0YHQvtGCJywKICAgICAgICA2ICAgPT4gICfRiNC10YHRgtGMJywgICAgICAgIDE2ICA9PiAgJ9GI0LXRgdGC0L3QsNC00YbQsNGC0YwnLCAgICAgIDcwICA9PiAgJ9GB0LXQvNGM0LTQtdGB0Y/RgicsICAgIDcwMCA9PiAgJ9GB0LXQvNGM0YHQvtGCJywgICAgCiAgICAgICAgNyAgID0+ICAn0YHQtdC80YwnLCAgICAgICAgIDE3ICA9PiAgJ9GB0LXQvNC90LDQtNGG0LDRgtGMJywgICAgICAgODAgID0+ICAn0LLQvtGB0LXQvNGM0LTQtdGB0Y/RgicsICAgODAwID0+ICAn0LLQvtGB0LXQvNGM0YHQvtGCJywKICAgICAgICA4ICAgPT4gICfQstC+0YHQtdC80YwnLCAgICAgICAxOCAgPT4gICfQstC+0YHQtdC80L3QsNC00YbQsNGC0YwnLCAgICAgOTAgID0+ICAn0LTQtdCy0Y/QvdC+0YHRgtC+JywgICAgIDkwMCA9PiAgJ9C00LXQstGP0YLRjNGB0L7RgicsCiAgICAgICAgOSAgID0+ICAn0LTQtdCy0Y/RgtGMJywgICAgICAgMTkgID0+ICAn0LTQtdCy0Y/RgtC90LDQtNGG0LDRgtGMJyAgICAKICAgICk7CiAKICAgICAgICAkZmVtYWxlU3BlbGxpbmcgPSBhcnJheSgKICAgICAgICAxICAgPT4gICfQvtC00L3QsCcsICAgICAgICAyICAgPT4gICfQtNCy0LUnCiAgICApOwogCmlmICgkbnVtID09IDApIHsKCXJldHVybiAkbnVtOwp9CiAKIAokaHVuZFdpdGhvdXREZWMgPSBmbG9vcigkbnVtIC8gMTAwKSAqIDEwMDsgLy/Rg9Cx0LjRgNCw0LXRgiDQtNC10YHRj9GC0LrQuCDRgyDRgdC+0YLQtdC9CmlmKCRodW5kV2l0aG91dERlYyAhPSAwKSB7CmFycmF5X3B1c2goJHJlc3VsdCwgJHNwZWxsaW5nWyRodW5kV2l0aG91dERlY10pOwp9CiRodW5kRGVjID0gJG51bSAlIDEwMDsgLy8g0L7RgdGC0LDQstC70Y/QtdGCINGC0L7Qu9GM0LrQviDQtNC10YHRj9GC0LrQuAppZigkaHVuZERlYyA+PSAxMSBhbmQgJGh1bmREZWMgPD0xOSkgewoJYXJyYXlfcHVzaCgkcmVzdWx0LCAkc3BlbGxpbmdbJGh1bmREZWNdKTsKfSBlbHNlaWYoJGh1bmREZWMgIT0gMCkgewokaHVuZERlY1dpdGhvdXRPbmUgPSBmbG9vcigkaHVuZERlYyAvIDEwKSAqIDEwOyAvL9C00LXRgdGP0YLQutC4INCx0LXQtyDQtdC00LjQvdC40YYKaWYoJGh1bmREZWNXaXRob3V0T25lICE9IDApIHsKYXJyYXlfcHVzaCgkcmVzdWx0LCAkc3BlbGxpbmdbJGh1bmREZWNXaXRob3V0T25lXSk7Cn0KIAokaHVuZE9uZSA9ICRodW5kRGVjICUgMTA7CiAKaWYgKCRmZW1hbGUgPT0gMSBvciAkZmVtYWxlID09IDIpIHsKCWFycmF5X3B1c2goJHJlc3VsdCwgJGZlbWFsZVNwZWxsaW5nWyRodW5kT25lXSk7Cn0gZWxzZWlmKCRmZW1hbGUgPT0gMCkgeyAKIAlpZiAoJGh1bmRPbmUgIT0gMCkgewphcnJheV9wdXNoKCRyZXN1bHQsICRzcGVsbGluZ1skaHVuZE9uZV0pOwp9Cn0KIAp9CiAKIAokdGV4dCA9IGltcGxvZGUoJyAnLCAkcmVzdWx0KTsKcmV0dXJuICR0ZXh0Owp9CiAKIAogCmZ1bmN0aW9uIGdldFdvcmRGb3JtKCRudW0sICR3b3JkLCAkd29yZDEsICR3b3JkMikgewoJJHggPSAkbnVtICUgMTAwOwoJaWYoJHggPj0gMTEgYW5kICR4IDw9MjApewoJCXJldHVybiAkd29yZDI7Cgl9CgllbHNlIHsKCSR6ID0gJG51bSAlIDEwOwoJaWYoJHogPT0gMSl7CgkJcmV0dXJuICR3b3JkOyAvLyDRgtGL0YHRj9GH0LAsINC80LjQu9C70LjQvtC9Cgl9CgkkeiA9ICRudW0gJSAxMDsKCWlmKCR6ID49IDIgJiYgJHogPD0gNCl7CgkJcmV0dXJuICR3b3JkMTsgLy/RgtGL0YHRj9GH0LgsINC80LjQu9C70LjQvtC90LAKCX0KCWVsc2V7CgkJcmV0dXJuICR3b3JkMjsgLy8g0YLRi9GB0Y/Rhywg0LzQuNC70LvQuNC+0L3QvtCyCgl9Cgl9Cn0KIApmdW5jdGlvbiBpbmNsaW5lV29yZCgkbnVtYmVyLCAkd29yZDEsICR3b3JkMiwgJHdvcmQ1KSB7CiAJJHggPSAkbnVtYmVyICUgMTAwOwoJaWYoJHggPj0gMTEgYW5kICR4IDw9MTkpewoJCXJldHVybiAkd29yZDU7Cgl9IGVsc2UgewogICAgJGxhc3QyRGlnaXRzID0gJG51bWJlciAlIDEwOwogICAgaWYoJGxhc3QyRGlnaXRzID09IDEpIHsKICAgIAlyZXR1cm4gJHdvcmQxOwogICAgfSBlbHNlaWYoJGxhc3QyRGlnaXRzID49IDIgYW5kICRsYXN0MkRpZ2l0cyA8PSA0KSB7CiAgICAJcmV0dXJuICR3b3JkMjsKICAgIH0gZWxzZSB7CiAgICAJcmV0dXJuICR3b3JkNTsKICAgIH0KCX0KfQogCiAKZnVuY3Rpb24gc3BlbGxOdW1iZXIoJG51bWJlcikgewokbWlsbGlvbnMgPSBmbG9vcigkbnVtYmVyIC8gMTAwMDAwMCk7IC8v0LzQuNC70LvQuNC+0L3RiwokaHVuZHJlZFRob3VzID0gZmxvb3IoJG51bWJlciAvIDEwMDApOy8v0LHQtdC3INGC0YvRgdGP0Ycg0YHQvtGC0L3QuCDRgtGL0YHRj9GHCiRodW5kV2l0aG91dE1pbCA9ICRodW5kcmVkVGhvdXMgJSAxMDAwOyAvLyDRgdC+0YLQvdC4INGC0YvRgdGP0YcKJGh1bmRyZWQgPSAkbnVtYmVyICUgMTAwMDsgLy/Qv9GA0L7RgdGC0L4g0YHQvtGC0L3QuAogCiRmZW0gPSAkaHVuZFdpdGhvdXRNaWwgJSAxMDsKaWYoJGZlbSA9PSAxKSB7CgkkZmVtYWxlID0gMTsKfSBlbHNlaWYgKCRmZW0gPT0gMikgewoJJGZlbWFsZSA9IDI7Cn0gZWxzZSB7CgkkZmVtYWxlID0gMDsKfQogCiAKCSRudW1iZXJUb1N0cmluZyA9IGFycmF5KCk7CglhcnJheV9wdXNoKCRudW1iZXJUb1N0cmluZywgJG1pbGxpb25zLE5VTEwpOwoJJG1pbFdvcmQgPSBnZXRXb3JkRm9ybSgkbWlsbGlvbnMsItC80LjQu9C70LjQvtC9Iiwi0LzQuNC70LvQuNC+0L3QsCIsItC80LjQu9C70LjQvtC90L7QsiIpOwoJYXJyYXlfcHVzaCgkbnVtYmVyVG9TdHJpbmcsICRtaWxXb3JkKTsKIAoJJHRob3VzID0gc3BlbGxTbWFsbE51bWJlcigkaHVuZFdpdGhvdXRNaWwsJGZlbWFsZSk7CglhcnJheV9wdXNoKCRudW1iZXJUb1N0cmluZywgJHRob3VzKTsKCSR0aG91c1dvcmQgPSBnZXRXb3JkRm9ybSgkaHVuZFdpdGhvdXRNaWwsItGC0YvRgdGP0YfQsCIsItGC0YvRgdGP0YfQuCIsItGC0YvRgdGP0YciKTsKCWFycmF5X3B1c2goJG51bWJlclRvU3RyaW5nLCAkdGhvdXNXb3JkKTsKIAoJJGh1bmQgPSBzcGVsbFNtYWxsTnVtYmVyKCRodW5kcmVkLE5VTEwpOwoJYXJyYXlfcHVzaCgkbnVtYmVyVG9TdHJpbmcsICRodW5kKTsKCSRodW5kUm91YmxlID0gaW5jbGluZVdvcmQoJGh1bmRyZWQsItGA0YPQsdC70YwiLCLRgNGD0LHQu9GPIiwi0YDRg9Cx0LvQtdC5Iik7CglhcnJheV9wdXNoKCRudW1iZXJUb1N0cmluZywgJGh1bmRSb3VibGUpOwogCgkkZW5kID0gaW1wbG9kZSgiICIsICRudW1iZXJUb1N0cmluZyk7CglyZXR1cm4gJGVuZDsgCn0KIAokYW1vdW50MSA9IG10X3JhbmQoMSw5OTk5OTk5OSk7CiR0ZXh0MSA9IHNwZWxsTnVtYmVyKCRhbW91bnQxKTsKIAplY2hvICLQndCwINCy0LDRiNC10Lwg0YHRh9C10YLRgyB7JHRleHQxfVxuIjsKZWNobyAiKCRhbW91bnQxKVxuIjsKIAokYW1vdW50MiA9IG10X3JhbmQoMSw5OTk5OTk5OSk7CiR0ZXh0MiA9IHNwZWxsTnVtYmVyKCRhbW91bnQyKTsKIAogCmVjaG8gItCd0LAg0LLQsNGI0LXQvCDRgdGH0LXRgtGDIHskdGV4dDJ9XG4iOwplY2hvICIoJGFtb3VudDIpXG4iOwogCiRhbW91bnQzID0gbXRfcmFuZCgxLDk5OTk5OTk5KTsKJHRleHQzID0gc3BlbGxOdW1iZXIoJGFtb3VudDMpOwogCiAKZWNobyAi0J3QsCDQstCw0YjQtdC8INGB0YfQtdGC0YMgeyR0ZXh0M31cbiI7CmVjaG8gIigkYW1vdW50MylcbiI7CiAKJGFtb3VudDQgPSBtdF9yYW5kKDEsOTk5OTk5OTkpOwokdGV4dDQgPSBzcGVsbE51bWJlcigkYW1vdW50NCk7CiAKIAplY2hvICLQndCwINCy0LDRiNC10Lwg0YHRh9C10YLRgyB7JHRleHQ0fVxuIjsKZWNobyAiKCRhbW91bnQ0KVxuIjsKPz4=