1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
include.php
См. документацию.
1<?
2function Number2Word_Rus($source, $IS_MONEY = "Y", $currency = "")
3{
4 $result = '';
5
6 $IS_MONEY = ((string)($IS_MONEY) == 'Y' ? 'Y' : 'N');
7 $currency = (string)$currency;
8 if ($currency == '' || $currency == 'RUR')
9 $currency = 'RUB';
10 else if ($currency == 'BYR')
11 $currency = 'BYN';
12 if ($IS_MONEY == 'Y')
13 {
14 if ($currency != 'RUB' && $currency != 'UAH' && $currency != 'KZT' && $currency != 'BYN')
15 return $result;
16 }
17
18 $arNumericLang = array(
19 "RUB" => array(
20 "zero" => "ноль",
21 "1c" => "сто ",
22 "2c" => "двести ",
23 "3c" => "триста ",
24 "4c" => "четыреста ",
25 "5c" => "пятьсот ",
26 "6c" => "шестьсот ",
27 "7c" => "семьсот ",
28 "8c" => "восемьсот ",
29 "9c" => "девятьсот ",
30 "1d0e" => "десять ",
31 "1d1e" => "одиннадцать ",
32 "1d2e" => "двенадцать ",
33 "1d3e" => "тринадцать ",
34 "1d4e" => "четырнадцать ",
35 "1d5e" => "пятнадцать ",
36 "1d6e" => "шестнадцать ",
37 "1d7e" => "семнадцать ",
38 "1d8e" => "восемнадцать ",
39 "1d9e" => "девятнадцать ",
40 "2d" => "двадцать ",
41 "3d" => "тридцать ",
42 "4d" => "сорок ",
43 "5d" => "пятьдесят ",
44 "6d" => "шестьдесят ",
45 "7d" => "семьдесят ",
46 "8d" => "восемьдесят ",
47 "9d" => "девяносто ",
48 "5e" => "пять ",
49 "6e" => "шесть ",
50 "7e" => "семь ",
51 "8e" => "восемь ",
52 "9e" => "девять ",
53 "1et" => "одна тысяча ",
54 "2et" => "две тысячи ",
55 "3et" => "три тысячи ",
56 "4et" => "четыре тысячи ",
57 "1em" => "один миллион ",
58 "2em" => "два миллиона ",
59 "3em" => "три миллиона ",
60 "4em" => "четыре миллиона ",
61 "1eb" => "один миллиард ",
62 "2eb" => "два миллиарда ",
63 "3eb" => "три миллиарда ",
64 "4eb" => "четыре миллиарда ",
65 "1e." => "один рубль ",
66 "2e." => "два рубля ",
67 "3e." => "три рубля ",
68 "4e." => "четыре рубля ",
69 "1e" => "один ",
70 "2e" => "два ",
71 "3e" => "три ",
72 "4e" => "четыре ",
73 "11k" => "11 копеек",
74 "12k" => "12 копеек",
75 "13k" => "13 копеек",
76 "14k" => "14 копеек",
77 "1k" => "1 копейка",
78 "2k" => "2 копейки",
79 "3k" => "3 копейки",
80 "4k" => "4 копейки",
81 "." => "рублей ",
82 "t" => "тысяч ",
83 "m" => "миллионов ",
84 "b" => "миллиардов ",
85 "k" => " копеек",
86 ),
87 "BYN" => array(
88 "zero" => "ноль",
89 "1c" => "сто ",
90 "2c" => "двести ",
91 "3c" => "триста ",
92 "4c" => "четыреста ",
93 "5c" => "пятьсот ",
94 "6c" => "шестьсот ",
95 "7c" => "семьсот ",
96 "8c" => "восемьсот ",
97 "9c" => "девятьсот ",
98 "1d0e" => "десять ",
99 "1d1e" => "одиннадцать ",
100 "1d2e" => "двенадцать ",
101 "1d3e" => "тринадцать ",
102 "1d4e" => "четырнадцать ",
103 "1d5e" => "пятнадцать ",
104 "1d6e" => "шестнадцать ",
105 "1d7e" => "семнадцать ",
106 "1d8e" => "восемнадцать ",
107 "1d9e" => "девятнадцать ",
108 "2d" => "двадцать ",
109 "3d" => "тридцать ",
110 "4d" => "сорок ",
111 "5d" => "пятьдесят ",
112 "6d" => "шестьдесят ",
113 "7d" => "семьдесят ",
114 "8d" => "восемьдесят ",
115 "9d" => "девяносто ",
116 "5e" => "пять ",
117 "6e" => "шесть ",
118 "7e" => "семь ",
119 "8e" => "восемь ",
120 "9e" => "девять ",
121 "1et" => "одна тысяча ",
122 "2et" => "две тысячи ",
123 "3et" => "три тысячи ",
124 "4et" => "четыре тысячи ",
125 "1em" => "один миллион ",
126 "2em" => "два миллиона ",
127 "3em" => "три миллиона ",
128 "4em" => "четыре миллиона ",
129 "1eb" => "один миллиард ",
130 "2eb" => "два миллиарда ",
131 "3eb" => "три миллиарда ",
132 "4eb" => "четыре миллиарда ",
133 "1e." => "один белорусский рубль ",
134 "2e." => "два белорусских рубля ",
135 "3e." => "три белорусских рубля ",
136 "4e." => "четыре белорусских рубля ",
137 "1e" => "один ",
138 "2e" => "два ",
139 "3e" => "три ",
140 "4e" => "четыре ",
141 "11k" => "11 копеек",
142 "12k" => "12 копеек",
143 "13k" => "13 копеек",
144 "14k" => "14 копеек",
145 "1k" => "1 копейка",
146 "2k" => "2 копейки",
147 "3k" => "3 копейки",
148 "4k" => "4 копейки",
149 "." => "белорусских рублей ",
150 "t" => "тысяч ",
151 "m" => "миллионов ",
152 "b" => "миллиардов ",
153 "k" => " копеек",
154 ),
155 "UAH" => array(
156 "zero" => "нyль",
157 "1c" => "сто ",
158 "2c" => "двісті ",
159 "3c" => "триста ",
160 "4c" => "чотириста ",
161 "5c" => "п'ятсот ",
162 "6c" => "шістсот ",
163 "7c" => "сімсот ",
164 "8c" => "вісімсот ",
165 "9c" => "дев'ятсот ",
166 "1d0e" => "десять ",
167 "1d1e" => "одинадцять ",
168 "1d2e" => "дванадцять ",
169 "1d3e" => "тринадцять ",
170 "1d4e" => "чотирнадцять ",
171 "1d5e" => "п'ятнадцять ",
172 "1d6e" => "шістнадцять ",
173 "1d7e" => "сімнадцять ",
174 "1d8e" => "вісімнадцять ",
175 "1d9e" => "дев'ятнадцять ",
176 "2d" => "двадцять ",
177 "3d" => "тридцять ",
178 "4d" => "сорок ",
179 "5d" => "п'ятдесят ",
180 "6d" => "шістдесят ",
181 "7d" => "сімдесят ",
182 "8d" => "вісімдесят ",
183 "9d" => "дев'яносто ",
184 "5e" => "п'ять ",
185 "6e" => "шість ",
186 "7e" => "сім ",
187 "8e" => "вісім ",
188 "9e" => "дев'ять ",
189 "1e." => "одна гривня ",
190 "2e." => "дві гривні ",
191 "3e." => "три гривні ",
192 "4e." => "чотири гривні ",
193 "1e" => "одна ",
194 "2e" => "дві ",
195 "3e" => "три ",
196 "4e" => "чотири ",
197 "1et" => "одна тисяча ",
198 "2et" => "дві тисячі ",
199 "3et" => "три тисячі ",
200 "4et" => "чотири тисячі ",
201 "1em" => "один мільйон ",
202 "2em" => "два мільйона ",
203 "3em" => "три мільйона ",
204 "4em" => "чотири мільйона ",
205 "1eb" => "один мільярд ",
206 "2eb" => "два мільярда ",
207 "3eb" => "три мільярда ",
208 "4eb" => "чотири мільярда ",
209 "11k" => "11 копійок",
210 "12k" => "12 копійок",
211 "13k" => "13 копійок",
212 "14k" => "14 копійок",
213 "1k" => "1 копійка",
214 "2k" => "2 копійки",
215 "3k" => "3 копійки",
216 "4k" => "4 копійки",
217 "." => "гривень ",
218 "t" => "тисяч ",
219 "m" => "мільйонів ",
220 "b" => "мільярдів ",
221 "k" => " копійок",
222 ),
223 "KZT" => array(
224 "zero" => "ноль",
225 "1c" => "сто ",
226 "2c" => "двести ",
227 "3c" => "триста ",
228 "4c" => "четыреста ",
229 "5c" => "пятьсот ",
230 "6c" => "шестьсот ",
231 "7c" => "семьсот ",
232 "8c" => "восемьсот ",
233 "9c" => "девятьсот ",
234 "1d0e" => "десять ",
235 "1d1e" => "одиннадцать ",
236 "1d2e" => "двенадцать ",
237 "1d3e" => "тринадцать ",
238 "1d4e" => "четырнадцать ",
239 "1d5e" => "пятнадцать ",
240 "1d6e" => "шестнадцать ",
241 "1d7e" => "семнадцать ",
242 "1d8e" => "восемнадцать ",
243 "1d9e" => "девятнадцать ",
244 "2d" => "двадцать ",
245 "3d" => "тридцать ",
246 "4d" => "сорок ",
247 "5d" => "пятьдесят ",
248 "6d" => "шестьдесят ",
249 "7d" => "семьдесят ",
250 "8d" => "восемьдесят ",
251 "9d" => "девяносто ",
252 "5e" => "пять ",
253 "6e" => "шесть ",
254 "7e" => "семь ",
255 "8e" => "восемь ",
256 "9e" => "девять ",
257 "1et" => "одна тысяча ",
258 "2et" => "две тысячи ",
259 "3et" => "три тысячи ",
260 "4et" => "четыре тысячи ",
261 "1em" => "один миллион ",
262 "2em" => "два миллиона ",
263 "3em" => "три миллиона ",
264 "4em" => "четыре миллиона ",
265 "1eb" => "один миллиард ",
266 "2eb" => "два миллиарда ",
267 "3eb" => "три миллиарда ",
268 "4eb" => "четыре миллиарда ",
269 "1e." => "один тенге ",
270 "2e." => "два тенге ",
271 "3e." => "три тенге ",
272 "4e." => "четыре тенге ",
273 "1e" => "один ",
274 "2e" => "два ",
275 "3e" => "три ",
276 "4e" => "четыре ",
277 "11k" => "11 тиын",
278 "12k" => "12 тиын",
279 "13k" => "13 тиын",
280 "14k" => "14 тиын",
281 "1k" => "1 тиын",
282 "2k" => "2 тиын",
283 "3k" => "3 тиын",
284 "4k" => "4 тиын",
285 "." => "тенге ",
286 "t" => "тысяч ",
287 "m" => "миллионов ",
288 "b" => "миллиардов ",
289 "k" => " тиын",
290 )
291 );
292
293 // k - penny
294 if ($IS_MONEY == "Y")
295 {
296 $source = (string)((float)$source);
297 $dotpos = mb_strpos($source, ".");
298 if ($dotpos === false)
299 {
300 $ipart = $source;
301 $fpart = '';
302 }
303 else
304 {
305 $ipart = mb_substr($source, 0, $dotpos);
306 $fpart = mb_substr($source, $dotpos + 1);
307 if ($fpart === false)
308 $fpart = '';
309 }
310 ;
311 if (mb_strlen($fpart) > 2)
312 {
313 $fpart = mb_substr($fpart, 0, 2);
314 if ($fpart === false)
315 $fpart = '';
316 }
317 $fillLen = 2 - mb_strlen($fpart);
318 if ($fillLen > 0)
319 $fpart .= str_repeat('0', $fillLen);
320 unset($fillLen);
321 }
322 else
323 {
324 $ipart = (string)((int)$source);
325 $fpart = '';
326 }
327
328 if (is_string($ipart))
329 {
330 $ipart = preg_replace('/^[0]+/', '', $ipart);
331 }
332
333 $ipart1 = strrev($ipart);
334 $ipart1Len = mb_strlen($ipart1);
335 $ipart = "";
336 $i = 0;
337 while ($i < $ipart1Len)
338 {
339 $ipart_tmp = mb_substr($ipart1, $i, 1);
340 // t - thousands; m - millions; b - billions;
341 // e - units; d - scores; c - hundreds;
342 if ($i % 3 == 0)
343 {
344 if ($i==0) $ipart_tmp .= "e";
345 elseif ($i==3) $ipart_tmp .= "et";
346 elseif ($i==6) $ipart_tmp .= "em";
347 elseif ($i==9) $ipart_tmp .= "eb";
348 else $ipart_tmp .= "x";
349 }
350 elseif ($i % 3 == 1) $ipart_tmp .= "d";
351 elseif ($i % 3 == 2) $ipart_tmp .= "c";
352 $ipart = $ipart_tmp.$ipart;
353 $i++;
354 }
355
356 if ($IS_MONEY == "Y")
357 {
358 $result = $ipart.".".$fpart."k";
359 }
360 else
361 {
362 $result = $ipart;
363 if ($result == '')
364 $result = $arNumericLang[$currency]['zero'];
365 }
366
367 if (mb_substr($result, 0, 1) == ".")
368 $result = $arNumericLang[$currency]['zero']." ".$result;
369
370 $result = str_replace("0c0d0et", "", $result);
371 $result = str_replace("0c0d0em", "", $result);
372 $result = str_replace("0c0d0eb", "", $result);
373
374 $result = str_replace("0c", "", $result);
375 $result = str_replace("1c", $arNumericLang[$currency]["1c"], $result);
376 $result = str_replace("2c", $arNumericLang[$currency]["2c"], $result);
377 $result = str_replace("3c", $arNumericLang[$currency]["3c"], $result);
378 $result = str_replace("4c", $arNumericLang[$currency]["4c"], $result);
379 $result = str_replace("5c", $arNumericLang[$currency]["5c"], $result);
380 $result = str_replace("6c", $arNumericLang[$currency]["6c"], $result);
381 $result = str_replace("7c", $arNumericLang[$currency]["7c"], $result);
382 $result = str_replace("8c", $arNumericLang[$currency]["8c"], $result);
383 $result = str_replace("9c", $arNumericLang[$currency]["9c"], $result);
384
385 $result = str_replace("1d0e", $arNumericLang[$currency]["1d0e"], $result);
386 $result = str_replace("1d1e", $arNumericLang[$currency]["1d1e"], $result);
387 $result = str_replace("1d2e", $arNumericLang[$currency]["1d2e"], $result);
388 $result = str_replace("1d3e", $arNumericLang[$currency]["1d3e"], $result);
389 $result = str_replace("1d4e", $arNumericLang[$currency]["1d4e"], $result);
390 $result = str_replace("1d5e", $arNumericLang[$currency]["1d5e"], $result);
391 $result = str_replace("1d6e", $arNumericLang[$currency]["1d6e"], $result);
392 $result = str_replace("1d7e", $arNumericLang[$currency]["1d7e"], $result);
393 $result = str_replace("1d8e", $arNumericLang[$currency]["1d8e"], $result);
394 $result = str_replace("1d9e", $arNumericLang[$currency]["1d9e"], $result);
395
396 $result = str_replace("0d", "", $result);
397 $result = str_replace("2d", $arNumericLang[$currency]["2d"], $result);
398 $result = str_replace("3d", $arNumericLang[$currency]["3d"], $result);
399 $result = str_replace("4d", $arNumericLang[$currency]["4d"], $result);
400 $result = str_replace("5d", $arNumericLang[$currency]["5d"], $result);
401 $result = str_replace("6d", $arNumericLang[$currency]["6d"], $result);
402 $result = str_replace("7d", $arNumericLang[$currency]["7d"], $result);
403 $result = str_replace("8d", $arNumericLang[$currency]["8d"], $result);
404 $result = str_replace("9d", $arNumericLang[$currency]["9d"], $result);
405
406 $result = str_replace("0e", "", $result);
407 $result = str_replace("5e", $arNumericLang[$currency]["5e"], $result);
408 $result = str_replace("6e", $arNumericLang[$currency]["6e"], $result);
409 $result = str_replace("7e", $arNumericLang[$currency]["7e"], $result);
410 $result = str_replace("8e", $arNumericLang[$currency]["8e"], $result);
411 $result = str_replace("9e", $arNumericLang[$currency]["9e"], $result);
412
413 $result = str_replace("1et", $arNumericLang[$currency]["1et"], $result);
414 $result = str_replace("2et", $arNumericLang[$currency]["2et"], $result);
415 $result = str_replace("3et", $arNumericLang[$currency]["3et"], $result);
416 $result = str_replace("4et", $arNumericLang[$currency]["4et"], $result);
417 $result = str_replace("1em", $arNumericLang[$currency]["1em"], $result);
418 $result = str_replace("2em", $arNumericLang[$currency]["2em"], $result);
419 $result = str_replace("3em", $arNumericLang[$currency]["3em"], $result);
420 $result = str_replace("4em", $arNumericLang[$currency]["4em"], $result);
421 $result = str_replace("1eb", $arNumericLang[$currency]["1eb"], $result);
422 $result = str_replace("2eb", $arNumericLang[$currency]["2eb"], $result);
423 $result = str_replace("3eb", $arNumericLang[$currency]["3eb"], $result);
424 $result = str_replace("4eb", $arNumericLang[$currency]["4eb"], $result);
425
426 if ($IS_MONEY == "Y")
427 {
428 $result = str_replace("1e.", $arNumericLang[$currency]["1e."], $result);
429 $result = str_replace("2e.", $arNumericLang[$currency]["2e."], $result);
430 $result = str_replace("3e.", $arNumericLang[$currency]["3e."], $result);
431 $result = str_replace("4e.", $arNumericLang[$currency]["4e."], $result);
432 }
433 else
434 {
435 $result = str_replace("1e", $arNumericLang[$currency]["1e"], $result);
436 $result = str_replace("2e", $arNumericLang[$currency]["2e"], $result);
437 $result = str_replace("3e", $arNumericLang[$currency]["3e"], $result);
438 $result = str_replace("4e", $arNumericLang[$currency]["4e"], $result);
439 }
440
441 if ($IS_MONEY == "Y")
442 {
443 $result = str_replace("11k", $arNumericLang[$currency]["11k"], $result);
444 $result = str_replace("12k", $arNumericLang[$currency]["12k"], $result);
445 $result = str_replace("13k", $arNumericLang[$currency]["13k"], $result);
446 $result = str_replace("14k", $arNumericLang[$currency]["14k"], $result);
447 $result = str_replace("1k", $arNumericLang[$currency]["1k"], $result);
448 $result = str_replace("2k", $arNumericLang[$currency]["2k"], $result);
449 $result = str_replace("3k", $arNumericLang[$currency]["3k"], $result);
450 $result = str_replace("4k", $arNumericLang[$currency]["4k"], $result);
451 }
452
453 if ($IS_MONEY == "Y")
454 {
455 if (mb_substr($result, 0, 1) == ".")
456 $result = $arNumericLang[$currency]['zero']." ".$result;
457
458 $result = str_replace(".", $arNumericLang[$currency]["."], $result);
459 }
460
461 $result = str_replace("t", $arNumericLang[$currency]["t"], $result);
462 $result = str_replace("m", $arNumericLang[$currency]["m"], $result);
463 $result = str_replace("b", $arNumericLang[$currency]["b"], $result);
464
465 if ($IS_MONEY == "Y")
466 $result = str_replace("k", $arNumericLang[$currency]["k"], $result);
467
468 return (mb_strtoupper(mb_substr($result, 0, 1)).mb_substr($result, 1));
469}
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$i
Определения factura.php:643
$currency
Определения template.php:266
Number2Word_Rus($source, $IS_MONEY="Y", $currency="")
Определения include.php:2