1
|
|
|
<?php |
2
|
|
|
declare(strict_types = 1); |
3
|
|
|
|
4
|
|
|
namespace Converter\Init; |
5
|
|
|
|
6
|
|
|
class Data |
7
|
|
|
{ |
8
|
|
|
public $arrExponents; |
9
|
|
|
public $arrHundreds; |
10
|
|
|
public $arrTens; |
11
|
|
|
public $arrUnits; |
12
|
|
|
public $arrSuffix; |
13
|
|
|
|
14
|
16 |
|
public function __construct() |
15
|
|
|
{ |
16
|
|
|
//@formatter:off |
17
|
16 |
|
$this->arrExponents = ['копе', 'рубл', 'тысяч', 'миллион', 'миллиард', 'триллион', |
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
|
16 |
|
$this->arrUnits = ['один ', 'два ', 'три ', 'четыре ', 'пять ', 'шесть ', 'семь ', 'восемь ', 'девять ', |
58
|
|
|
'десять ', 'одиннадцать ', 'двенадцать ', 'тринадцать ', 'четырнадцать ', 'пятнадцать ', 'шестнадцать ', |
59
|
|
|
'семнадцать ', 'восемнадцать ', 'девятнадцать ']; |
60
|
16 |
|
$this->arrTens = ['десять ', 'двадцать ', 'тридцать ', 'сорок ', 'пятьдесят ', 'шестьдесят ', 'семьдесят ', |
61
|
|
|
'восемьдесят ', 'девяносто ']; |
62
|
16 |
|
$this->arrHundreds = ['сто ', 'двести ', 'триста ', 'четыреста ', 'пятьсот ', |
63
|
|
|
'шестьсот ', 'семьсот ', 'восемьсот ', 'девятьсот ']; |
64
|
16 |
|
$this->arrSuffix = [['йка', 'ь', 'а ', ' '], ['йки', 'я', 'и ', 'а '], ['ек', 'ей', ' ', 'ов ']]; |
65
|
|
|
//@formatter:on |
66
|
16 |
|
} |
67
|
|
|
|
68
|
|
|
/** |
69
|
|
|
* @return int - returns offset for maximum exponent in array |
70
|
|
|
*/ |
71
|
8 |
|
public function getExpSize(): int |
72
|
|
|
{ |
73
|
8 |
|
return count($this->arrExponents) - 2; |
74
|
|
|
} |
75
|
|
|
} |
76
|
|
|
|