1
|
|
|
<?php
|
2
|
|
|
declare(strict_types = 1);
|
3
|
|
|
namespace Converter\Init;
|
4
|
|
|
|
5
|
|
|
class Data
|
6
|
|
|
{
|
7
|
17 |
|
public function __construct()
|
8
|
|
|
{
|
9
|
|
|
//@formatter:off
|
10
|
17 |
|
$this->arrExponents = ['копе', 'рубл', 'тысяч', 'миллион', 'миллиард', 'триллион',
|
|
|
|
|
11
|
|
|
'квадриллион', 'квинтиллион', 'секстиллион',
|
12
|
|
|
'септиллион', 'октиллион', 'нониллион', 'дециллион', 'ундециллион', 'дуодециллион', 'тредециллион',
|
13
|
|
|
'кваттордециллион', 'квиндециллион', 'сексдециллион', 'септендециллион', 'октодециллион', 'новемдециллион',
|
14
|
|
|
'вигинтиллион', 'унвигинтиллион', 'дуовигинтиллион', 'тревигинтиллион', 'кватторвигинтиллион',
|
15
|
|
|
'квинвигинтиллион', 'сексвигинтиллион', 'септенвигинтиллион', 'октовигинтиллион', 'новемвигинтиллион',
|
16
|
|
|
'тригинтиллион', 'унтригинтиллион', 'дуотригинтиллион', 'третригинтиллион', 'кватортригинтиллион',
|
17
|
|
|
'квинтригинтиллион', 'секстригинтиллион', 'септентригинтиллион', 'октотригинтиллион', 'новемтригинтиллион',
|
18
|
|
|
'квадрагинтиллион', 'унквадрагинтиллион', 'дуоквадрагинтиллион', 'треквадрагинтиллион',
|
19
|
|
|
'кваторквадрагинтиллион', 'квинквадрагинтиллион', 'сексквадрагинтиллион', 'септенквадрагинтиллион',
|
20
|
|
|
'октоквадрагинтиллион', 'новемквадрагинтиллион', 'квинквагинтиллион', 'унквинкагинтиллион',
|
21
|
|
|
'дуоквинкагинтиллион', 'треквинкагинтиллион', 'кваторквинкагинтиллион', 'квинквинкагинтиллион',
|
22
|
|
|
'сексквинкагинтиллион', 'септенквинкагинтиллион', 'октоквинкагинтиллион', 'новемквинкагинтиллион',
|
23
|
|
|
'сексагинтиллион', 'унсексагинтиллион', 'дуосексагинтиллион', 'тресексагинтиллион', 'кваторсексагинтиллион',
|
24
|
|
|
'квинсексагинтиллион', 'секссексагинтиллион', 'септенсексагинтиллион', 'октосексагинтиллион',
|
25
|
|
|
'новемсексагинтиллион', 'септагинтиллион', 'унсептагинтиллион', 'дуосептагинтиллион', 'тресептагинтиллион',
|
26
|
|
|
'кваторсептагинтиллион', 'квинсептагинтиллион', 'секссептагинтиллион', 'септенсептагинтиллион',
|
27
|
|
|
'октосептагинтиллион', 'новемсептагинтиллион', 'октогинтиллион', 'уноктогинтиллион', 'дуооктогинтиллион',
|
28
|
|
|
'треоктогинтиллион', 'кватороктогинтиллион', 'квиноктогинтиллион', 'сексоктогинтиллион',
|
29
|
|
|
'септоктогинтиллион', 'октаоктогинтиллион', 'новемоктогинтиллион', 'нонагинтиллион', 'уннонагинтиллион',
|
30
|
|
|
'дуононагинтиллион', 'тренонагинтиллион', 'кваторнонагинтиллион', 'квиннонагинтиллион',
|
31
|
|
|
'секснонагинтиллион', 'септеннонагинтиллион', 'октононагинтиллион', 'новемнонагинтиллион', 'центиллион',
|
32
|
|
|
'анцентиллион', 'дуоцентиллион', 'трецентиллион', 'кватторцентиллион', 'квинцентиллион', 'сексцентиллион',
|
33
|
|
|
'септемцентиллион', 'октоцентиллион', 'новемцентиллион', 'децицентиллион'];
|
34
|
17 |
|
$this->arrUnits = ['один ', 'два ', 'три ', 'четыре ', 'пять ', 'шесть ', 'семь ', 'восемь ', 'девять ',
|
|
|
|
|
35
|
|
|
'десять ', 'одиннадцать ', 'двенадцать ', 'тринадцать ', 'четырнадцать ', 'пятнадцать ', 'шестнадцать ',
|
36
|
|
|
'семнадцать ', 'восемнадцать ', 'девятнадцать '];
|
37
|
17 |
|
$this->arrTens = ['десять ', 'двадцать ', 'тридцать ', 'сорок ', 'пятьдесят ', 'шестьдесят ', 'семьдесят ',
|
|
|
|
|
38
|
|
|
'восемьдесят ', 'девяносто '];
|
39
|
17 |
|
$this->arrHundreds = ['сто ', 'двести ', 'триста ', 'четыреста ', 'пятьсот ',
|
|
|
|
|
40
|
|
|
'шестьсот ', 'семьсот ', 'восемьсот ', 'девятьсот '];
|
41
|
17 |
|
$this->arrSuffix = [['йка', 'ь', 'а ', ' '], ['йки', 'я', 'и ', 'а '], ['ек', 'ей', ' ', 'ов ']];
|
|
|
|
|
42
|
|
|
//@formatter:on
|
43
|
17 |
|
}
|
44
|
|
|
|
45
|
|
|
/**
|
46
|
|
|
* @return int - number of elements + 1 in Exponents array (if mult. by 3 we get max possible number for N2T Class).
|
47
|
|
|
*/
|
48
|
1 |
|
public function getExpSize(): int
|
49
|
|
|
{
|
50
|
1 |
|
return count($this->arrExponents) + 1;
|
51
|
|
|
}
|
52
|
|
|
}
|
53
|
|
|
|
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: