<?php
<?php
$number =1000;
function inclineWord($number, $word1, $word2, $word5)
{
if ($number%100 >= 11 && $number%100 <= 19) {
return $word5;
}
elseif ($number%10 === 1) {
return $word1;
} elseif ($number%10 >= 2 && $number%10 <= 4) {
return $word2;
} else {
return ($word5);
}
}
$result1 = inclineWord( $number, 'рубль', 'рубля', 'рублей');
echo "$number $result1 \n";
function numberToWords($number)
{
1 => 'один',
2 => 'два',
3 => 'три',
4 => 'четыре',
5 => 'пять',
6 => 'шесть',
7 => 'семь',
8 => 'восемь',
9 => 'девять'
);
10 => 'десять',
11 => 'одиннадцать',
12 => 'двенадцать',
13 => 'тринадцать',
14 => 'четырнадцать',
15 => 'пятнадцать',
16 => 'шестнадцать',
17 => 'семнадцать',
18 => 'восемнадцать',
19 => 'девятнадцать',
20 => 'двадцать',
30 => 'тридцать',
40 => 'сорок',
50 => 'пятьдесят',
60 => 'шестьдесят',
70 => 'семьдесят',
80 => 'восемьдесят',
90 => 'девяносто'
);
100 => 'сто',
200 => 'двести',
300 => 'триста',
400 => 'четыреста',
500 => 'пятьсот',
600 => 'шестьсот',
700 => 'семьсот',
800 => 'восемьсот',
900 => 'девятьсот'
);
1=> 'одна',
2=> 'две'
);
$result = '';
if ($number == 0) {
return 'ноль';
}
if ($number < 0) {
$result = 'минус ';
}
if ($number >= 1000000) {
$millions = floor($number / 1000000); function inclineMillion($millions, $word11, $word12, $word15)
{
if ($millions >= 11 && $millions <= 19) {
return $word15;
}
elseif ($millions %10 == 1) {
return $word11;
} elseif ($millions %10 >= 2 && $millions %10 <= 4) {
return $word12;
} else {
return ($word15);
}
}
$result2 = inclineMillion( $millions, ' миллион ', ' миллиона', ' миллионов ');
$result .= numberToWords($millions) . $result2;
$number %= 1000000;
}
if ($number >= 1000 && $number <= 999999) {
$thousands = floor($number / 1000); function inclineThousands($thousands, $word21, $word22, $word25)
{
if ($thousands >= 11 && $thousands <= 19) {
return $word25;
}
elseif ($thousands %10 == 1) {
return $word21;
} elseif ($thousands %10 >= 2 && $thousands %10 <= 4) {
return $word22;
} else {
return ($word25);
}
}
$result3 = inclineThousands( $thousands, ' тысяча ', ' тысячи ', ' тысяч ');
if ($thousands ==1 && $thousands %100==1) {
$result .= 'одна'. $result3;
} else {
$result .= numberToWords($thousands) . $result3;
}
$number %= 1000;
}
if ($number >= 100) {
$hundred = floor($number / 100) * 100; $result .= $hundreds[$hundred] . ' ';
$number %= 100;
}
if ($number >= 10 && $number <= 20) {
$result .= $tens[$number] . ' ';
$number = 0;
} elseif ($number >= 10) {
$ten = floor($number / 10) * 10; $result .= $tens[$ten] . ' ';
$number %= 10;
}
if ($number > 0) {
$result .= $ones[$number] . ' ';
}
}
$result= numberToWords ($number);
echo "$result $result1\n";
PD9waHAKPD9waHAKJG51bWJlciA9MTAwMDsKZnVuY3Rpb24gaW5jbGluZVdvcmQoJG51bWJlciwgJHdvcmQxLCAkd29yZDIsICR3b3JkNSkKewoKICAgIGlmICgkbnVtYmVyJTEwMCA+PSAxMSAmJiAkbnVtYmVyJTEwMCA8PSAxOSkgewogICAgICAgIHJldHVybiAkd29yZDU7CiAgICB9CiAgICBlbHNlaWYgKCRudW1iZXIlMTAgPT09IDEpIHsKICAgICAgICByZXR1cm4gJHdvcmQxOwogICAgfSBlbHNlaWYgKCRudW1iZXIlMTAgPj0gMiAmJiAkbnVtYmVyJTEwIDw9IDQpIHsKICAgICAgICByZXR1cm4gJHdvcmQyOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gKCR3b3JkNSk7CiAgICB9Cn0KJHJlc3VsdDEgPSBpbmNsaW5lV29yZCggJG51bWJlciwgJ9GA0YPQsdC70YwnLCAn0YDRg9Cx0LvRjycsICfRgNGD0LHQu9C10LknKTsKZWNobyAiJG51bWJlciAkcmVzdWx0MSBcbiI7CmZ1bmN0aW9uIG51bWJlclRvV29yZHMoJG51bWJlcikKewogICAgJG9uZXMgPSBhcnJheSgKICAgICAgICAxID0+ICfQvtC00LjQvScsCiAgICAgICAgMiA9PiAn0LTQstCwJywKICAgICAgICAzID0+ICfRgtGA0LgnLAogICAgICAgIDQgPT4gJ9GH0LXRgtGL0YDQtScsCiAgICAgICAgNSA9PiAn0L/Rj9GC0YwnLAogICAgICAgIDYgPT4gJ9GI0LXRgdGC0YwnLAogICAgICAgIDcgPT4gJ9GB0LXQvNGMJywKICAgICAgICA4ID0+ICfQstC+0YHQtdC80YwnLAogICAgICAgIDkgPT4gJ9C00LXQstGP0YLRjCcKICAgICk7CgogICAgJHRlbnMgPSBhcnJheSgKICAgICAgICAxMCA9PiAn0LTQtdGB0Y/RgtGMJywKICAgICAgICAxMSA9PiAn0L7QtNC40L3QvdCw0LTRhtCw0YLRjCcsCiAgICAgICAgMTIgPT4gJ9C00LLQtdC90LDQtNGG0LDRgtGMJywKICAgICAgICAxMyA9PiAn0YLRgNC40L3QsNC00YbQsNGC0YwnLAogICAgICAgIDE0ID0+ICfRh9C10YLRi9GA0L3QsNC00YbQsNGC0YwnLAogICAgICAgIDE1ID0+ICfQv9GP0YLQvdCw0LTRhtCw0YLRjCcsCiAgICAgICAgMTYgPT4gJ9GI0LXRgdGC0L3QsNC00YbQsNGC0YwnLAogICAgICAgIDE3ID0+ICfRgdC10LzQvdCw0LTRhtCw0YLRjCcsCiAgICAgICAgMTggPT4gJ9Cy0L7RgdC10LzQvdCw0LTRhtCw0YLRjCcsCiAgICAgICAgMTkgPT4gJ9C00LXQstGP0YLQvdCw0LTRhtCw0YLRjCcsCiAgICAgICAgMjAgPT4gJ9C00LLQsNC00YbQsNGC0YwnLAogICAgICAgIDMwID0+ICfRgtGA0LjQtNGG0LDRgtGMJywKICAgICAgICA0MCA9PiAn0YHQvtGA0L7QuicsCiAgICAgICAgNTAgPT4gJ9C/0Y/RgtGM0LTQtdGB0Y/RgicsCiAgICAgICAgNjAgPT4gJ9GI0LXRgdGC0YzQtNC10YHRj9GCJywKICAgICAgICA3MCA9PiAn0YHQtdC80YzQtNC10YHRj9GCJywKICAgICAgICA4MCA9PiAn0LLQvtGB0LXQvNGM0LTQtdGB0Y/RgicsCiAgICAgICAgOTAgPT4gJ9C00LXQstGP0L3QvtGB0YLQvicKICAgICk7CgogICAgJGh1bmRyZWRzID0gYXJyYXkoCiAgICAgICAgMTAwID0+ICfRgdGC0L4nLAogICAgICAgIDIwMCA9PiAn0LTQstC10YHRgtC4JywKICAgICAgICAzMDAgPT4gJ9GC0YDQuNGB0YLQsCcsCiAgICAgICAgNDAwID0+ICfRh9C10YLRi9GA0LXRgdGC0LAnLAogICAgICAgIDUwMCA9PiAn0L/Rj9GC0YzRgdC+0YInLAogICAgICAgIDYwMCA9PiAn0YjQtdGB0YLRjNGB0L7RgicsCiAgICAgICAgNzAwID0+ICfRgdC10LzRjNGB0L7RgicsCiAgICAgICAgODAwID0+ICfQstC+0YHQtdC80YzRgdC+0YInLAogICAgICAgIDkwMCA9PiAn0LTQtdCy0Y/RgtGM0YHQvtGCJwogICAgKTsKCiAgICAkZmVtZW4gPSBhcnJheSAoCiAgICAgICAgMT0+ICfQvtC00L3QsCcsCiAgICAgICAgMj0+ICfQtNCy0LUnCiAgICApOwoKICAgICRyZXN1bHQgPSAnJzsKCiAgICBpZiAoJG51bWJlciA9PSAwKSB7CiAgICAgICAgcmV0dXJuICfQvdC+0LvRjCc7CiAgICB9CgogICAgaWYgKCRudW1iZXIgPCAwKSB7CiAgICAgICAgJHJlc3VsdCA9ICfQvNC40L3Rg9GBICc7CiAgICAgICAgJG51bWJlciA9IGFicygkbnVtYmVyKTsKICAgIH0KICAgIGlmICgkbnVtYmVyID49IDEwMDAwMDApIHsKICAgICAgICAkbWlsbGlvbnMgPSBmbG9vcigkbnVtYmVyIC8gMTAwMDAwMCk7CiAgICAgICAgZnVuY3Rpb24gaW5jbGluZU1pbGxpb24oJG1pbGxpb25zLCAkd29yZDExLCAkd29yZDEyLCAkd29yZDE1KQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCRtaWxsaW9ucyAgPj0gMTEgJiYgJG1pbGxpb25zICAgPD0gMTkpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkd29yZDE1OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2VpZiAoJG1pbGxpb25zICUxMCA9PSAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHdvcmQxMTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRtaWxsaW9ucyAlMTAgICA+PSAyICYmICRtaWxsaW9ucyAlMTAgICA8PSA0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHdvcmQxMjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiAoJHdvcmQxNSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHJlc3VsdDIgPSBpbmNsaW5lTWlsbGlvbiggJG1pbGxpb25zLCAnINC80LjQu9C70LjQvtC9ICcsICcg0LzQuNC70LvQuNC+0L3QsCcsICcg0LzQuNC70LvQuNC+0L3QvtCyICcpOwoKICAgICAgICAkcmVzdWx0IC49IG51bWJlclRvV29yZHMoJG1pbGxpb25zKSAuICRyZXN1bHQyOwogICAgICAgICRudW1iZXIgJT0gMTAwMDAwMDsKICAgIH0KCiAgICBpZiAoJG51bWJlciA+PSAxMDAwICYmICRudW1iZXIgPD0gOTk5OTk5KSB7CiAgICAgICAgJHRob3VzYW5kcyA9IGZsb29yKCRudW1iZXIgLyAxMDAwKTsKICAgICAgICBmdW5jdGlvbiBpbmNsaW5lVGhvdXNhbmRzKCR0aG91c2FuZHMsICR3b3JkMjEsICR3b3JkMjIsICR3b3JkMjUpCiAgICAgICAgewogICAgICAgICAgICBpZiAoJHRob3VzYW5kcyAgPj0gMTEgJiYgJHRob3VzYW5kcyAgIDw9IDE5KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHdvcmQyNTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlaWYgKCR0aG91c2FuZHMgJTEwID09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkd29yZDIxOwogICAgICAgICAgICB9IGVsc2VpZiAoJHRob3VzYW5kcyAlMTAgICA+PSAyICYmICR0aG91c2FuZHMgJTEwICAgPD0gNCkgewogICAgICAgICAgICAgICAgcmV0dXJuICR3b3JkMjI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKCR3b3JkMjUpOwogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgJHJlc3VsdDMgPSBpbmNsaW5lVGhvdXNhbmRzKCAkdGhvdXNhbmRzLCAnINGC0YvRgdGP0YfQsCAnLCAnINGC0YvRgdGP0YfQuCAnLCAnINGC0YvRgdGP0YcgJyk7CiAgICAgICAgaWYgKCR0aG91c2FuZHMgPT0xICYmICR0aG91c2FuZHMgJTEwMD09MSkgewogICAgICAgICAgICAkcmVzdWx0IC49ICfQvtC00L3QsCcuICRyZXN1bHQzOwogICAgICAgIH0gICBlbHNlIHsKICAgICAgICAgICAgJHJlc3VsdCAuPSBudW1iZXJUb1dvcmRzKCR0aG91c2FuZHMpIC4gJHJlc3VsdDM7CiAgICAgICAgfQogICAgICAgICRudW1iZXIgJT0gMTAwMDsKICAgIH0KCiAgICBpZiAoJG51bWJlciA+PSAxMDApIHsKICAgICAgICAkaHVuZHJlZCA9IGZsb29yKCRudW1iZXIgLyAxMDApICogMTAwOwogICAgICAgICRyZXN1bHQgLj0gJGh1bmRyZWRzWyRodW5kcmVkXSAuICcgJzsKICAgICAgICAkbnVtYmVyICU9IDEwMDsKICAgIH0KCiAgICBpZiAoJG51bWJlciA+PSAxMCAmJiAkbnVtYmVyIDw9IDIwKSB7CiAgICAgICAgJHJlc3VsdCAuPSAkdGVuc1skbnVtYmVyXSAuICcgJzsKICAgICAgICAkbnVtYmVyID0gMDsKICAgIH0gZWxzZWlmICgkbnVtYmVyID49IDEwKSB7CiAgICAgICAgJHRlbiA9IGZsb29yKCRudW1iZXIgLyAxMCkgKiAxMDsKICAgICAgICAkcmVzdWx0IC49ICR0ZW5zWyR0ZW5dIC4gJyAnOwogICAgICAgICRudW1iZXIgJT0gMTA7CiAgICB9CgogICAgaWYgKCRudW1iZXIgPiAwKSB7CiAgICAgICAgJHJlc3VsdCAuPSAkb25lc1skbnVtYmVyXSAuICcgJzsKICAgIH0KCiAgICByZXR1cm4gdHJpbSgkcmVzdWx0KTsKfQokcmVzdWx0PSBudW1iZXJUb1dvcmRzICgkbnVtYmVyKTsKZWNobyAiJHJlc3VsdCAkcmVzdWx0MVxuIjsK