public function __construct($mant) { if (empty($mant) || !is_array($mant) || count($mant) != 3) { return false; } else { parent::__construct(); $this->Mant = $mant; } }
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); // сто двадцать два миллиарда двести двадцать три миллиона сто двадцать четыре тысячи сто двадцать