1. PHP / Говнокод #9963

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    $forms = array(
                array('копейка', 'копейки', 'копеек', 1), // 10^-2
                array('гривна', 'гривны', 'гривень',  0), // 10^ 0
                array('тысяча', 'тысячи', 'тысяч', 1), // 10^ 3
                array('миллион', 'миллиона', 'миллионов',  0), // 10^ 6
                array('миллиард', 'миллиарда', 'миллиардов',  0), // 10^ 9
                array('триллион', 'триллиона', 'триллионов',  0), // 10^12
            );
            $out = $tmp = array();
            // Поехали!
            $tmp = explode('.', str_replace(',','.', $inn));
            $rub = number_format($tmp[ 0], 0,'','-');
            if ($rub== 0) $out[] = $nol;
            // нормализация копеек
            $kop = isset($tmp[1]) ? substr(str_pad($tmp[1], 2, '0', STR_PAD_RIGHT), 0,2) : '00';
            $segments = explode('-', $rub);
            $offset = sizeof($segments);
            if ((int)$rub== 0) { // если 0 рублей
                $o[] = $nol;
                $o[] = '';//$this->morph( 0, $forms[1][ 0],$forms[1][1],$forms[1][2]);
            }

    поехавшие индусы ворочают триллионами

    Запостил: Bert, 16 Апреля 2012

    Комментарии (13) RSS

    • ну раз это хохлокод, то логично, что не $rub, a $grn
      Ответить
    • Я бы лучше по умолчанию все выводил в долях триллионов. Всем удобно было бы.
      Ответить
    • Приводим копейки к 3-ей нормальной форме.
      Ответить
    • тайна переменной $nol и кое-что про секс немного выше по коду

      {                
              $nol = 'ноль';
              $str[100]= array('','сто','двести','триста','четыреста','пятьсот','шестьсот', 'семьсот', 'восемьсот','девятьсот');
              $str[11] = array('','десять','одиннадцать','двенадцать','тринадцять', 'четырнадцать','пятнадцать','шестнадцать','семнадцать', 'восемнадцать','девятнадцать','двадцять');
              $str[10] = array('','десять','двадцать','тридцать','сорок','пятьдесят', 'шестьдесят','семьдесят','восемьдесят','девяносто');
              $sex = array(
                  array('','один','два','три','четыре','пять','шесть','семь', 'восемь','девять'),// m
                  array('','одна','две','три','четыре','пять','шесть','семь', 'восемь','девять') // f
              );
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий