- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
<?
class CHISLO {
private $arr = array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять',
'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать',
'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать');
private $arr2 = array('', 'сто', 'двести', 'триста', 'четыреста');
private $ar = array(
1=>array('тысяч', 'тысяча', 'тысячи', 'тысячи', 'тысячи', 'тысяч', 'тысяч', 'тысяч', 'тысяч', 'тысяч'),
array('миллионов', 'миллион', 'миллиона', 'миллиона', 'миллиона', 'миллионов', 'миллионов',
'миллионов', 'миллионов', 'миллионов'),
array('миллиардов', 'миллиард', 'миллиарда', 'миллиарда', 'миллиарда', 'миллиардов', 'миллиардов',
'миллиардов', 'миллиардов', 'миллиардов'),
array('триллионов', 'триллион', 'триллиона', 'триллиона', 'триллиона', 'триллионов', 'триллионов',
'триллионов', 'триллионов', 'триллионов')
);
public function get_chislo($ch) {
if( $ch<1000 )
return $this->get_100($ch);
$ch = preg_split('/(?=(\d{3})+(?!\d))/is', $ch, -1, PREG_SPLIT_NO_EMPTY);
$ch = array_reverse($ch);
$result[] = $this->get_100($ch[0]);
for($i=1; $i<count($ch); $i++) {
@$result[] = $this->get_100($ch[$i]) .' '. $this->ar[$i]{$ch[$i]%10};
}
$result[1] = str_replace('один', 'одна', $result[1]);
// $result[1] = str_replace('два', 'две', $result[1]);
return join(' ', array_reverse($result));
}
private function get_100($ch) {
$c1 = (int)($ch / 100);
$c2 = $ch % 100;
if( $c1<5 )
$result = $this->arr2[$c1];
else
$result = $this->arr[$c1] . 'сот';
return @$result .' '. $this->get_10($c2);
}
private function get_10($ch) {
$c1 = (int)($ch / 10);
$c2 = $ch % 10;
if( $ch<20 ) {
$result = $this->arr[$ch];
} else if( $ch<40 ) {
$result = $this->arr[$c1] . 'дцать';
} else if( $ch<50 ) {
$result = 'сорок';
} else if( $ch<90 ) {
$result = substr( $this->arr[$c1], 0, -1 ) . 'десят';
} else if( $ch<100 ) {
$result = 'девяносто';
}
if( $ch>20 && $c2!=0 )
$result .= ' ' . $this->arr[$c2];
return $result;
}
}?>
Steve_Brown 21.10.2019 11:54 # 0
Will you still feed me,
When I'm sixty-nine.
awk 21.10.2019 14:25 # 0
Когда её самой не стало.
guest8 21.10.2019 14:31 # −999
3oJIoTou_xyu 21.10.2019 16:58 # 0
guest8 21.10.2019 17:00 # −999
3oJIoTou_xyu 22.10.2019 12:39 # 0
guest8 22.10.2019 12:41 # −999
Louie_Louie 22.10.2019 12:44 # 0
BATHbIu_nemyx 22.10.2019 12:46 # 0
3oJIoTou_xyu 22.10.2019 13:00 # 0
3oJIoTou_xyu 22.10.2019 13:00 # 0
BATHbIu_nemyx 22.10.2019 12:47 # 0
3oJIoTou_xyu 22.10.2019 13:00 # 0
3oJIoTou_xyu 22.10.2019 13:00 # 0
guest8 22.10.2019 13:01 # −999
Louie_Louie 22.10.2019 13:09 # 0
3oJIoTou_xyu 22.10.2019 13:28 # 0
3oJIoTou_xyu 23.10.2019 13:24 # 0
gem 23.10.2019 14:12 # 0
3oJIoTou_xyu 23.10.2019 14:21 # 0
guest8 23.10.2019 20:06 # −999
guest8 21.10.2019 17:13 # −999
BATHbIu_nemyx 22.10.2019 11:26 # 0
https://www.youtube.com/watch?v=hPzNl6NKAG0
3oJIoTou_xyu 22.10.2019 12:50 # 0
Ну или уссурийский бальзам.
guest8 22.10.2019 18:25 # −999
TOPT 22.10.2019 18:32 # 0
guest8 22.10.2019 18:37 # −999
guest8 21.10.2019 20:39 # −999
Steve_Brown 21.10.2019 17:51 # 0
guest8 21.10.2019 17:55 # −999
Xyu_3HAET_KTO 21.10.2019 18:11 # 0
MAPTbIwKA 21.10.2019 18:28 # 0
Xyu_HE_3HAET 22.10.2019 10:18 # 0
Louie_Louie 22.10.2019 12:45 # 0
Lure Of Chaos 21.10.2019 23:04 # 0
Louie_Louie 22.10.2019 07:28 # 0
BATHbIu_nemyx 22.10.2019 10:25 # 0
и
Come work
Взаимоисключающе же!
guest8 22.10.2019 18:25 # −999
guest8 22.10.2019 18:27 # −999