Пример #1
0
 public function __construct($mant)
 {
     if (empty($mant) || !is_array($mant) || count($mant) != 3) {
         return false;
     } else {
         parent::__construct();
         $this->Mant = $mant;
     }
 }
Пример #2
0
        if ($result) {
            // значение $result изменяется внутри функции DescrSot
            // новое значение: $result %= 1000000000 для миллиарда
            if ($result >= 1000000000) {
                $ret .= $this->DescrSot($result, 1000000000, array('миллиард', 'миллиарда', 'миллиардов')) . ' ';
            }
            if ($result >= 1000000) {
                $ret .= $this->DescrSot($result, 1000000, array('миллион', 'миллиона', 'миллионов')) . ' ';
            }
            if ($result >= 1000) {
                $ret .= $this->DescrSot($result, 1000, array('тысяча', 'тысячи', 'тысяч'), true) . ' ';
            }
            $ret .= $this->DescrSot($result, 1, $this->Mant) . ' ';
            // если необходимо поднимем регистр первой буквы
            //$ret[0] = chr( ord($ret[0]) + ord('A') - ord('a') );
            // для корректно локализованных систем можно закрыть верхнюю строку
            // и раскомментировать следующую (для легкости сопровождения)
            // $ret[0] = strtoupper($ret[0]);
        } else {
            $ret .= 'нуль';
        }
        //$ret = mb_strtoupper(substr($ret,0,2),"utf-8") . substr($ret,1);
        // если число было отрицательным добавим минус
        return $ret;
    }
}
$convert = new NumToText();
print $convert->Convert(10);
// десять
print $convert->Convert(122223124120.0);
// сто двадцать два миллиарда двести двадцать три миллиона сто двадцать четыре тысячи сто двадцать