+155
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
}
if(isset($this->digits[1])) {//разряд десятков
if($this->digits[1]>1)
$result.=$this->spelling['ties'][$this->language][$this->digits[1]]." ";
if($this->digits[1]==1) $result.=$this->spelling['teens'][$this->language][$this->digits[0]]." ";
}
if(isset($this->digits[0])) {//разряд единиц
if((isset($this->digits[1]))&&($this->digits[1]!=1))
$result.=$this->spelling['ones'][$this->language][$this->digits[0]]." ";
if(!isset($this->digits[1])) {
if($this->digits[0]==0) $result.=$this->spelling['nought'][$this->language]." ";
else $result.=$this->spelling['ones'][$this->language][$this->digits[0]]." ";
}
}
return $result;
}
}
Часть программы, которая преобразовывает целое число из промежутка [-9999999; 9999999] в текст (разговорный) на трех языках (Russian, Ukrainian, English). Состоит из трех классов. Это продолжение класса numberspelling , начиная с закрытой скобки последнего if`а предыдущего поста. Именно класс numberspelling преобразует цифру из уже имеющегося массива number в массив в произношение этой цифры на данном языке, в соответствии с её весом (той степенью числа 10, на которую она умножена). Например, если цифра 5 в уже имеющемся массиве стоит под номером 2, то она будет произносится "пятьсот". Напомню, номер элемента в массиве соответствует степени числа 10, на которую надо умножить элемент.
Запостил: ppd,
23 Декабря 2014
Комментарии (0) RSS
Добавить комментарий