25 private const MODIFIER_ALL =
'ALL';
27 private static string $lastSortLanguage =
'';
28 private static array $separators = [];
29 private static array $separatorsTypes = [];
31 private static ?
bool $bitrix24Included =
null;
41 public static function getCurrency(
string $currency, array $languages, ?
string $b24Area =
null): ?array
48 self::prepare($languages,
'', $b24Area);
50 return self::$currencyClassifier[$currency] ??
null;
61 public static function get(array $languageIds,
string $baseLanguageId, ?
string $b24Area =
null): array
63 self::prepare($languageIds, $baseLanguageId, $b24Area);
65 return self::$currencyClassifier;
76 private static function prepare(array $languageIds,
string $baseLanguageId, ?
string $b24Area): void
79 foreach ($languageIds as $language)
81 $languageList[$language] = strtoupper($language);
84 self::fillSeparatorsData();
85 self::fill($languageList);
86 self::transform($b24Area, $languageList);
87 self::fillSeparatorDescription($languageList);
88 self::sort($baseLanguageId);
92 private static function transform(?
string $b24Area, array $languageIds): void
94 if (self::$bitrix24Included ===
null)
96 self::$bitrix24Included = Loader::includeModule(
'bitrix24');
98 if (!self::$bitrix24Included)
102 if ($b24Area ===
null || $b24Area ===
'')
104 $areaConfig = \CBitrix24::getCurrentAreaConfig();
105 if (!empty($areaConfig))
107 $b24Area = $areaConfig[
'ID'];
111 if ($b24Area ===
null || $b24Area ===
'')
115 if (!isset(self::$areaConfig[$b24Area]))
121 'THOUSANDS_VARIANT' =>
true,
125 $config = self::$areaConfig[$b24Area];
128 if (!empty($config[self::MODIFIER_ALL]))
130 $replaceRow = array_intersect_key($config[self::MODIFIER_ALL], $keys);
131 if (isset($config[self::MODIFIER_ALL][
'TEMPLATE']))
133 $template = $config[self::MODIFIER_ALL][
'TEMPLATE'];
136 foreach (array_keys(self::$currencyClassifier) as $currency)
138 $currencyRow = $replaceRow;
139 $currencyTemplate = $template;
140 if (!empty($config[$currency]))
142 $currencyRow = array_merge(
144 array_intersect_key($config[$currency], $keys)
146 if (isset($config[$currency][
'TEMPLATE']))
148 $currencyTemplate = $config[$currency][
'TEMPLATE'];
152 if (!empty($currencyRow))
154 self::$currencyClassifier[$currency][
'DEFAULT'] = array_merge(
155 self::$currencyClassifier[$currency][
'DEFAULT'],
159 if ($currencyTemplate !==
null)
161 self::$currencyClassifier[$currency][
'DEFAULT'][
'FORMAT_STRING'] = str_replace(
166 self::$currencyClassifier[$currency][
'DEFAULT'][
'FORMAT_STRING']
171 if (!empty($currencyRow) || $currencyTemplate !==
null)
173 foreach ($languageIds as $language)
175 if (!empty($currencyRow))
177 self::$currencyClassifier[$currency][$language] = array_merge(
178 self::$currencyClassifier[$currency][$language],
182 if ($currencyTemplate !==
null)
184 self::$currencyClassifier[$currency][$language][
'FORMAT_STRING'] = str_replace(
189 self::$currencyClassifier[$currency][$language][
'FORMAT_STRING']
204 private static function fill(array $languageIds): void
206 foreach ($languageIds as $languageId => $upperLanguageId)
208 reset(self::$currencyClassifier);
209 $currentElement = current(self::$currencyClassifier);
210 if (isset($currentElement[$upperLanguageId]))
215 foreach (self::$currencyClassifier as $key => $value)
218 'CURRENCY_CLASSIFIER_'.$value[
'SYM_CODE'].
'_FULL_NAME',
223 'CURRENCY_CLASSIFIER_'.$value[
'SYM_CODE'].
'_FORMAT_STRING',
228 'CURRENCY_CLASSIFIER_'.$value[
'SYM_CODE'].
'_DEC_POINT',
233 'CURRENCY_CLASSIFIER_'.$value[
'SYM_CODE'].
'_THOUSANDS_VARIANT',
237 if (!isset(self::$separators[$thousandsVariant]))
239 $thousandsVariant =
null;
242 $defaultProperties = $value[
'DEFAULT'];
244 self::$currencyClassifier[$key][$upperLanguageId] = [
245 'FULL_NAME' => $currencyName ??$defaultProperties[
'FULL_NAME'],
246 'FORMAT_STRING' => $formatString ?? $defaultProperties[
'FORMAT_STRING'],
247 'DEC_POINT' => $decimalPoint ?? $defaultProperties[
'DEC_POINT'],
248 'THOUSANDS_VARIANT' => $thousandsVariant ?? $defaultProperties[
'THOUSANDS_VARIANT'],
249 'DECIMALS' => $defaultProperties[
'DECIMALS'],
261 private static function fillSeparatorDescription(array $languageIds): void
263 foreach (array_keys(self::$currencyClassifier) as $currency)
265 foreach ($languageIds as $upperLanguageId)
267 if (!isset(self::$currencyClassifier[$currency][$upperLanguageId]))
271 if (isset(self::$currencyClassifier[$currency][$upperLanguageId][
'THOUSANDS_SEP']))
276 $variant = self::$currencyClassifier[$currency][$upperLanguageId][
'THOUSANDS_VARIANT'];
277 self::$currencyClassifier[$currency][$upperLanguageId][
'THOUSANDS_SEP'] = self::$separators[$variant];
278 self::$currencyClassifier[$currency][$upperLanguageId][
'THOUSANDS_SEP_DESCR'] = self::$separatorsTypes[$variant];
281 unset($variant, $language, $upperLanguageId, $currency);
289 private static function sort(
string $baseLanguageId): void
291 $baseLanguageId = mb_strtoupper(trim($baseLanguageId));
292 if ($baseLanguageId ===
'')
296 if (self::$lastSortLanguage == $baseLanguageId)
301 Collection::sortByColumn(
302 self::$currencyClassifier,
305 $baseLanguageId =>
function($row)
307 return $row[
'FULL_NAME'];
314 self::$lastSortLanguage = $baseLanguageId;
320 private static function fillSeparatorsData(): void
322 if (empty(self::$separators))
324 self::$separators = \CCurrencyLang::GetSeparators();
327 if (empty(self::$separatorsTypes))
329 self::$separatorsTypes = \CCurrencyLang::GetSeparatorTypes(
true);
333 private static array $areaConfig = [
335 self::MODIFIER_ALL => [
338 'TEMPLATE' =>
'#CURRENCY# #VALUE#',
342 self::MODIFIER_ALL => [
345 'TEMPLATE' =>
'#VALUE# #CURRENCY#',
349 self::MODIFIER_ALL => [
352 'TEMPLATE' =>
'#VALUE# #CURRENCY#',
356 self::MODIFIER_ALL => [
359 'TEMPLATE' =>
'#VALUE# #CURRENCY#',
363 self::MODIFIER_ALL => [
366 'TEMPLATE' =>
'#CURRENCY# #VALUE#',
369 'TEMPLATE' =>
'¥ #VALUE#',
373 self::MODIFIER_ALL => [
376 'TEMPLATE' =>
'#CURRENCY##VALUE#',
380 self::MODIFIER_ALL => [
383 'TEMPLATE' =>
'#VALUE##CURRENCY#',
389 'TEMPLATE' =>
'#VALUE#円',
393 self::MODIFIER_ALL => [
396 'TEMPLATE' =>
'#VALUE# #CURRENCY#',
400 self::MODIFIER_ALL => [
403 'TEMPLATE' =>
'#VALUE##CURRENCY#',
407 self::MODIFIER_ALL => [
410 'TEMPLATE' =>
'#VALUE# #CURRENCY#',
414 self::MODIFIER_ALL => [
417 'TEMPLATE' =>
'#CURRENCY# #VALUE#',
420 'TEMPLATE' =>
'Rp. #VALUE#',
424 self::MODIFIER_ALL => [
427 'TEMPLATE' =>
'#CURRENCY# #VALUE#',
431 self::MODIFIER_ALL => [
434 'TEMPLATE' =>
'#CURRENCY# #VALUE#',
437 'TEMPLATE' =>
'Rs. #VALUE#',
441 self::MODIFIER_ALL => [
444 'TEMPLATE' =>
'#CURRENCY# #VALUE#',
447 'TEMPLATE' =>
'Rs. #VALUE#',
451 self::MODIFIER_ALL => [
454 'TEMPLATE' =>
'#CURRENCY##VALUE#',
458 self::MODIFIER_ALL => [
461 'TEMPLATE' =>
'#CURRENCY##VALUE#',
464 'TEMPLATE' =>
'USD#VALUE#',
467 'TEMPLATE' =>
'COP#VALUE#',
471 self::MODIFIER_ALL => [
474 'TEMPLATE' =>
'#CURRENCY##VALUE#',
477 'TEMPLATE' =>
'USD#VALUE#',
480 'TEMPLATE' =>
'MXN#VALUE#',
485 private static array $currencyClassifier = array(
491 'FULL_NAME' =>
'Lek',
492 'FORMAT_STRING' =>
'L#VALUE#',
493 'DEC_POINT' => self::DECIMAL_POINT_DOT,
494 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
503 'FULL_NAME' =>
'Algerian Dinar',
504 'FORMAT_STRING' =>
'DA#VALUE#',
505 'DEC_POINT' => self::DECIMAL_POINT_DOT,
506 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
515 'FULL_NAME' =>
'Argentine Peso',
516 'FORMAT_STRING' =>
'$#VALUE#',
517 'DEC_POINT' => self::DECIMAL_POINT_DOT,
518 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
527 'FULL_NAME' =>
'Australian Dollar',
528 'FORMAT_STRING' =>
'$#VALUE#',
529 'DEC_POINT' => self::DECIMAL_POINT_DOT,
530 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
539 'FULL_NAME' =>
'Bahamian Dollar',
540 'FORMAT_STRING' =>
'$#VALUE#',
541 'DEC_POINT' => self::DECIMAL_POINT_DOT,
542 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
551 'FULL_NAME' =>
'Bahraini Dinar',
552 'FORMAT_STRING' =>
'BD#VALUE#',
553 'DEC_POINT' => self::DECIMAL_POINT_DOT,
554 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
563 'FULL_NAME' =>
'Taka',
564 'FORMAT_STRING' =>
'৳#VALUE#',
565 'DEC_POINT' => self::DECIMAL_POINT_DOT,
566 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
575 'FULL_NAME' =>
'Armenian Dram',
576 'FORMAT_STRING' =>
'AMD#VALUE#',
577 'DEC_POINT' => self::DECIMAL_POINT_DOT,
578 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
587 'FULL_NAME' =>
'Barbados Dollar',
588 'FORMAT_STRING' =>
'$#VALUE#',
589 'DEC_POINT' => self::DECIMAL_POINT_DOT,
590 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
599 'FULL_NAME' =>
'Bermudian Dollar',
600 'FORMAT_STRING' =>
'$#VALUE#',
601 'DEC_POINT' => self::DECIMAL_POINT_DOT,
602 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
611 'FULL_NAME' =>
'Ngultrum',
612 'FORMAT_STRING' =>
'Nu#VALUE#',
613 'DEC_POINT' => self::DECIMAL_POINT_DOT,
614 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
623 'FULL_NAME' =>
'Boliviano',
624 'FORMAT_STRING' =>
'$#VALUE#',
625 'DEC_POINT' => self::DECIMAL_POINT_DOT,
626 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
635 'FULL_NAME' =>
'Pula',
636 'FORMAT_STRING' =>
'P#VALUE#',
637 'DEC_POINT' => self::DECIMAL_POINT_DOT,
638 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
647 'FULL_NAME' =>
'Belize Dollar',
648 'FORMAT_STRING' =>
'$#VALUE#',
649 'DEC_POINT' => self::DECIMAL_POINT_DOT,
650 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
659 'FULL_NAME' =>
'Solomon Islands Dollar',
660 'FORMAT_STRING' =>
'$#VALUE#',
661 'DEC_POINT' => self::DECIMAL_POINT_DOT,
662 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
671 'FULL_NAME' =>
'Brunei Dollar',
672 'FORMAT_STRING' =>
'$#VALUE#',
673 'DEC_POINT' => self::DECIMAL_POINT_DOT,
674 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
683 'FULL_NAME' =>
'Kyat',
684 'FORMAT_STRING' =>
'K#VALUE#',
685 'DEC_POINT' => self::DECIMAL_POINT_DOT,
686 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
695 'FULL_NAME' =>
'Burundi Franc',
696 'FORMAT_STRING' =>
'₣#VALUE#',
697 'DEC_POINT' => self::DECIMAL_POINT_DOT,
698 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
707 'FULL_NAME' =>
'Riel',
708 'FORMAT_STRING' =>
'៛#VALUE#',
709 'DEC_POINT' => self::DECIMAL_POINT_DOT,
710 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
719 'FULL_NAME' =>
'Canadian Dollar',
720 'FORMAT_STRING' =>
'$#VALUE#',
721 'DEC_POINT' => self::DECIMAL_POINT_DOT,
722 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
731 'FULL_NAME' =>
'Cabo Verde Escudo',
732 'FORMAT_STRING' =>
'$#VALUE#',
733 'DEC_POINT' => self::DECIMAL_POINT_DOT,
734 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
743 'FULL_NAME' =>
'Cayman Islands Dollar',
744 'FORMAT_STRING' =>
'$#VALUE#',
745 'DEC_POINT' => self::DECIMAL_POINT_DOT,
746 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
755 'FULL_NAME' =>
'Sri Lanka Rupee',
756 'FORMAT_STRING' =>
'₨#VALUE#',
757 'DEC_POINT' => self::DECIMAL_POINT_DOT,
758 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
767 'FULL_NAME' =>
'Chilean Peso',
768 'FORMAT_STRING' =>
'$#VALUE#',
769 'DEC_POINT' => self::DECIMAL_POINT_DOT,
770 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
779 'FULL_NAME' =>
'Yuan Renminbi',
780 'FORMAT_STRING' =>
'¥#VALUE#',
781 'DEC_POINT' => self::DECIMAL_POINT_DOT,
782 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
791 'FULL_NAME' =>
'Colombian Peso',
792 'FORMAT_STRING' =>
'$#VALUE#',
793 'DEC_POINT' => self::DECIMAL_POINT_DOT,
794 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
803 'FULL_NAME' =>
'Comorian Franc',
804 'FORMAT_STRING' =>
'₣#VALUE#',
805 'DEC_POINT' => self::DECIMAL_POINT_DOT,
806 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
815 'FULL_NAME' =>
'Costa Rican Coln',
816 'FORMAT_STRING' =>
'₡#VALUE#',
817 'DEC_POINT' => self::DECIMAL_POINT_DOT,
818 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
827 'FULL_NAME' =>
'Kuna',
828 'FORMAT_STRING' =>
'Kn#VALUE#',
829 'DEC_POINT' => self::DECIMAL_POINT_DOT,
830 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
839 'FULL_NAME' =>
'Cuban Peso',
840 'FORMAT_STRING' =>
'$#VALUE#',
841 'DEC_POINT' => self::DECIMAL_POINT_DOT,
842 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
851 'FULL_NAME' =>
'Czech Koruna',
852 'FORMAT_STRING' =>
'CZK#VALUE#',
853 'DEC_POINT' => self::DECIMAL_POINT_DOT,
854 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
863 'FULL_NAME' =>
'Danish Krone',
864 'FORMAT_STRING' =>
'kr#VALUE#',
865 'DEC_POINT' => self::DECIMAL_POINT_DOT,
866 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
875 'FULL_NAME' =>
'Dominican Peso',
876 'FORMAT_STRING' =>
'$#VALUE#',
877 'DEC_POINT' => self::DECIMAL_POINT_DOT,
878 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
887 'FULL_NAME' =>
'El Salvador Colon',
888 'FORMAT_STRING' =>
'₡#VALUE#',
889 'DEC_POINT' => self::DECIMAL_POINT_DOT,
890 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
899 'FULL_NAME' =>
'Ethiopian Birr',
900 'FORMAT_STRING' =>
'Br#VALUE#',
901 'DEC_POINT' => self::DECIMAL_POINT_DOT,
902 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
911 'FULL_NAME' =>
'Nakfa',
912 'FORMAT_STRING' =>
'Nfk#VALUE#',
913 'DEC_POINT' => self::DECIMAL_POINT_DOT,
914 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
923 'FULL_NAME' =>
'Falkland Islands Pound',
924 'FORMAT_STRING' =>
'£#VALUE#',
925 'DEC_POINT' => self::DECIMAL_POINT_DOT,
926 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
935 'FULL_NAME' =>
'Fiji Dollar',
936 'FORMAT_STRING' =>
'$#VALUE#',
937 'DEC_POINT' => self::DECIMAL_POINT_DOT,
938 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
947 'FULL_NAME' =>
'Djibouti Franc',
948 'FORMAT_STRING' =>
'₣#VALUE#',
949 'DEC_POINT' => self::DECIMAL_POINT_DOT,
950 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
959 'FULL_NAME' =>
'Dalasi',
960 'FORMAT_STRING' =>
'D#VALUE#',
961 'DEC_POINT' => self::DECIMAL_POINT_DOT,
962 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
971 'FULL_NAME' =>
'Gibraltar Pound',
972 'FORMAT_STRING' =>
'£#VALUE#',
973 'DEC_POINT' => self::DECIMAL_POINT_DOT,
974 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
983 'FULL_NAME' =>
'Quetzal',
984 'FORMAT_STRING' =>
'Q#VALUE#',
985 'DEC_POINT' => self::DECIMAL_POINT_DOT,
986 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
995 'FULL_NAME' =>
'Guinean Franc',
996 'FORMAT_STRING' =>
'₣#VALUE#',
997 'DEC_POINT' => self::DECIMAL_POINT_DOT,
998 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1004 'NUM_CODE' =>
'328',
1005 'SYM_CODE' =>
'GYD',
1007 'FULL_NAME' =>
'Guyana Dollar',
1008 'FORMAT_STRING' =>
'$#VALUE#',
1009 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1010 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1016 'NUM_CODE' =>
'332',
1017 'SYM_CODE' =>
'HTG',
1019 'FULL_NAME' =>
'Gourde',
1020 'FORMAT_STRING' =>
'G#VALUE#',
1021 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1022 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1028 'NUM_CODE' =>
'340',
1029 'SYM_CODE' =>
'HNL',
1031 'FULL_NAME' =>
'Lempira',
1032 'FORMAT_STRING' =>
'L#VALUE#',
1033 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1034 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1040 'NUM_CODE' =>
'344',
1041 'SYM_CODE' =>
'HKD',
1043 'FULL_NAME' =>
'Hong Kong Dollar',
1044 'FORMAT_STRING' =>
'HK$#VALUE#',
1045 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1046 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1052 'NUM_CODE' =>
'348',
1053 'SYM_CODE' =>
'HUF',
1055 'FULL_NAME' =>
'Forint',
1056 'FORMAT_STRING' =>
'ƒ#VALUE#',
1057 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1058 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1064 'NUM_CODE' =>
'352',
1065 'SYM_CODE' =>
'ISK',
1067 'FULL_NAME' =>
'Iceland Krona',
1068 'FORMAT_STRING' =>
'kr#VALUE#',
1069 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1070 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1076 'NUM_CODE' =>
'356',
1077 'SYM_CODE' =>
'INR',
1079 'FULL_NAME' =>
'Indian Rupee',
1080 'FORMAT_STRING' =>
'₹#VALUE#',
1081 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1082 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1088 'NUM_CODE' =>
'360',
1089 'SYM_CODE' =>
'IDR',
1091 'FULL_NAME' =>
'Rupiah',
1092 'FORMAT_STRING' =>
'₹#VALUE#',
1093 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1094 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1100 'NUM_CODE' =>
'364',
1101 'SYM_CODE' =>
'IRR',
1103 'FULL_NAME' =>
'Iranian Rial',
1104 'FORMAT_STRING' =>
'﷼#VALUE#',
1105 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1106 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1112 'NUM_CODE' =>
'368',
1113 'SYM_CODE' =>
'IQD',
1115 'FULL_NAME' =>
'Iraqi Dinar',
1116 'FORMAT_STRING' =>
'ID#VALUE#',
1117 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1118 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1124 'NUM_CODE' =>
'376',
1125 'SYM_CODE' =>
'ILS',
1127 'FULL_NAME' =>
'New Israeli Sheqel',
1128 'FORMAT_STRING' =>
'₪#VALUE#',
1129 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1130 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1136 'NUM_CODE' =>
'388',
1137 'SYM_CODE' =>
'JMD',
1139 'FULL_NAME' =>
'Jamaican Dollar',
1140 'FORMAT_STRING' =>
'$#VALUE#',
1141 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1142 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1148 'NUM_CODE' =>
'392',
1149 'SYM_CODE' =>
'JPY',
1151 'FULL_NAME' =>
'Yen',
1152 'FORMAT_STRING' =>
'¥#VALUE#',
1153 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1154 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1160 'NUM_CODE' =>
'398',
1161 'SYM_CODE' =>
'KZT',
1163 'FULL_NAME' =>
'Tenge',
1164 'FORMAT_STRING' =>
'₸#VALUE#',
1165 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1166 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1172 'NUM_CODE' =>
'400',
1173 'SYM_CODE' =>
'JOD',
1175 'FULL_NAME' =>
'Jordanian Dinar',
1176 'FORMAT_STRING' =>
'JD#VALUE#',
1177 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1178 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1184 'NUM_CODE' =>
'404',
1185 'SYM_CODE' =>
'KES',
1187 'FULL_NAME' =>
'Kenyan Shilling',
1188 'FORMAT_STRING' =>
'KShs#VALUE#',
1189 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1190 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1196 'NUM_CODE' =>
'408',
1197 'SYM_CODE' =>
'KPW',
1199 'FULL_NAME' =>
'North Korean Won',
1200 'FORMAT_STRING' =>
'₩#VALUE#',
1201 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1202 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1208 'NUM_CODE' =>
'410',
1209 'SYM_CODE' =>
'KRW',
1211 'FULL_NAME' =>
'Won',
1212 'FORMAT_STRING' =>
'₩#VALUE#',
1213 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1214 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1220 'NUM_CODE' =>
'114',
1221 'SYM_CODE' =>
'KWD',
1223 'FULL_NAME' =>
'Kuwaiti Dinar',
1224 'FORMAT_STRING' =>
'KD#VALUE#',
1225 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1226 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1232 'NUM_CODE' =>
'417',
1233 'SYM_CODE' =>
'KGS',
1235 'FULL_NAME' =>
'Som',
1236 'FORMAT_STRING' =>
'c#VALUE#',
1237 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1238 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1244 'NUM_CODE' =>
'418',
1245 'SYM_CODE' =>
'LAK',
1247 'FULL_NAME' =>
'Lao Kip',
1248 'FORMAT_STRING' =>
'₭#VALUE#',
1249 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1250 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1256 'NUM_CODE' =>
'422',
1257 'SYM_CODE' =>
'LBP',
1259 'FULL_NAME' =>
'Lebanese Pound',
1260 'FORMAT_STRING' =>
'LBP#VALUE#',
1261 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1262 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1268 'NUM_CODE' =>
'426',
1269 'SYM_CODE' =>
'LSL',
1271 'FULL_NAME' =>
'Loti',
1272 'FORMAT_STRING' =>
'M#VALUE#',
1273 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1274 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1280 'NUM_CODE' =>
'430',
1281 'SYM_CODE' =>
'LRD',
1283 'FULL_NAME' =>
'Liberian Dollar',
1284 'FORMAT_STRING' =>
'$#VALUE#',
1285 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1286 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1292 'NUM_CODE' =>
'434',
1293 'SYM_CODE' =>
'LYD',
1295 'FULL_NAME' =>
'Libyan Dinar',
1296 'FORMAT_STRING' =>
'LD#VALUE#',
1297 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1298 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1304 'NUM_CODE' =>
'446',
1305 'SYM_CODE' =>
'MOP',
1307 'FULL_NAME' =>
'Pataca',
1308 'FORMAT_STRING' =>
'$#VALUE#',
1309 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1310 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1316 'NUM_CODE' =>
'454',
1317 'SYM_CODE' =>
'MWK',
1319 'FULL_NAME' =>
'Malawi Kwacha',
1320 'FORMAT_STRING' =>
'MK#VALUE#',
1321 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1322 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1328 'NUM_CODE' =>
'458',
1329 'SYM_CODE' =>
'MYR',
1331 'FULL_NAME' =>
'Malaysian Ringgit',
1332 'FORMAT_STRING' =>
'RM #VALUE#',
1333 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1334 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1340 'NUM_CODE' =>
'462',
1341 'SYM_CODE' =>
'MVR',
1343 'FULL_NAME' =>
'Rufiyaa',
1344 'FORMAT_STRING' =>
'Rf#VALUE#',
1345 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1346 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1352 'NUM_CODE' =>
'478',
1353 'SYM_CODE' =>
'MRO',
1355 'FULL_NAME' =>
'Ouguiya',
1356 'FORMAT_STRING' =>
'UM#VALUE#',
1357 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1358 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1364 'NUM_CODE' =>
'480',
1365 'SYM_CODE' =>
'MUR',
1367 'FULL_NAME' =>
'Mauritius Rupee',
1368 'FORMAT_STRING' =>
'₨#VALUE#',
1369 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1370 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1376 'NUM_CODE' =>
'484',
1377 'SYM_CODE' =>
'MXN',
1379 'FULL_NAME' =>
'Mexican Peso',
1380 'FORMAT_STRING' =>
'$#VALUE#',
1381 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1382 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1388 'NUM_CODE' =>
'496',
1389 'SYM_CODE' =>
'MNT',
1391 'FULL_NAME' =>
'Tugrik',
1392 'FORMAT_STRING' =>
'₸#VALUE#',
1393 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1394 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1400 'NUM_CODE' =>
'498',
1401 'SYM_CODE' =>
'MDL',
1403 'FULL_NAME' =>
'Moldovan Leu',
1404 'FORMAT_STRING' =>
'L#VALUE#',
1405 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1406 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1412 'NUM_CODE' =>
'504',
1413 'SYM_CODE' =>
'MAD',
1415 'FULL_NAME' =>
'Moroccan Dirham',
1416 'FORMAT_STRING' =>
'Dh#VALUE#',
1417 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1418 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1424 'NUM_CODE' =>
'512',
1425 'SYM_CODE' =>
'OMR',
1427 'FULL_NAME' =>
'Rial Omani',
1428 'FORMAT_STRING' =>
'﷼#VALUE#',
1429 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1430 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1436 'NUM_CODE' =>
'516',
1437 'SYM_CODE' =>
'NAD',
1439 'FULL_NAME' =>
'Namibia Dollar',
1440 'FORMAT_STRING' =>
'$#VALUE#',
1441 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1442 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1448 'NUM_CODE' =>
'524',
1449 'SYM_CODE' =>
'NPR',
1451 'FULL_NAME' =>
'Nepalese Rupee',
1452 'FORMAT_STRING' =>
'₨#VALUE#',
1453 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1454 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1460 'NUM_CODE' =>
'532',
1461 'SYM_CODE' =>
'ANG',
1463 'FULL_NAME' =>
'Netherlands Antillean Guilder',
1464 'FORMAT_STRING' =>
'ƒ#VALUE#',
1465 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1466 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1472 'NUM_CODE' =>
'533',
1473 'SYM_CODE' =>
'AWG',
1475 'FULL_NAME' =>
'Aruban Florin',
1476 'FORMAT_STRING' =>
'ƒ#VALUE#',
1477 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1478 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1484 'NUM_CODE' =>
'548',
1485 'SYM_CODE' =>
'VUV',
1487 'FULL_NAME' =>
'Vatu',
1488 'FORMAT_STRING' =>
'Vt#VALUE#',
1489 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1490 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1496 'NUM_CODE' =>
'554',
1497 'SYM_CODE' =>
'NZD',
1499 'FULL_NAME' =>
'New Zealand Dollar',
1500 'FORMAT_STRING' =>
'$#VALUE#',
1501 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1502 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1508 'NUM_CODE' =>
'558',
1509 'SYM_CODE' =>
'NIO',
1511 'FULL_NAME' =>
'Cordoba Oro',
1512 'FORMAT_STRING' =>
'$#VALUE#',
1513 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1514 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1520 'NUM_CODE' =>
'566',
1521 'SYM_CODE' =>
'NGN',
1523 'FULL_NAME' =>
'Naira',
1524 'FORMAT_STRING' =>
'₦#VALUE#',
1525 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1526 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1532 'NUM_CODE' =>
'578',
1533 'SYM_CODE' =>
'NOK',
1535 'FULL_NAME' =>
'Norwegian Krone',
1536 'FORMAT_STRING' =>
'kr#VALUE#',
1537 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1538 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1544 'NUM_CODE' =>
'586',
1545 'SYM_CODE' =>
'PKR',
1547 'FULL_NAME' =>
'Pakistan Rupee',
1548 'FORMAT_STRING' =>
'₨#VALUE#',
1549 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1550 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1556 'NUM_CODE' =>
'590',
1557 'SYM_CODE' =>
'PAB',
1559 'FULL_NAME' =>
'Balboa',
1560 'FORMAT_STRING' =>
'B#VALUE#',
1561 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1562 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1568 'NUM_CODE' =>
'598',
1569 'SYM_CODE' =>
'PGK',
1571 'FULL_NAME' =>
'Kina',
1572 'FORMAT_STRING' =>
'K#VALUE#',
1573 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1574 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1580 'NUM_CODE' =>
'600',
1581 'SYM_CODE' =>
'PYG',
1583 'FULL_NAME' =>
'Guarani',
1584 'FORMAT_STRING' =>
'₲#VALUE#',
1585 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1586 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1592 'NUM_CODE' =>
'604',
1593 'SYM_CODE' =>
'PEN',
1595 'FULL_NAME' =>
'Sol',
1596 'FORMAT_STRING' =>
'PEN#VALUE#',
1597 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1598 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1604 'NUM_CODE' =>
'608',
1605 'SYM_CODE' =>
'PHP',
1607 'FULL_NAME' =>
'Philippine Peso',
1608 'FORMAT_STRING' =>
'₱#VALUE#',
1609 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1610 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1616 'NUM_CODE' =>
'634',
1617 'SYM_CODE' =>
'QAR',
1619 'FULL_NAME' =>
'Qatari Rial',
1620 'FORMAT_STRING' =>
'﷼#VALUE#',
1621 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1622 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1628 'NUM_CODE' =>
'643',
1629 'SYM_CODE' =>
'RUB',
1631 'FULL_NAME' =>
'Russian Ruble',
1632 'FORMAT_STRING' =>
'₽#VALUE#',
1633 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1634 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1640 'NUM_CODE' =>
'646',
1641 'SYM_CODE' =>
'RWF',
1643 'FULL_NAME' =>
'Rwanda Franc',
1644 'FORMAT_STRING' =>
'₣#VALUE#',
1645 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1646 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1652 'NUM_CODE' =>
'654',
1653 'SYM_CODE' =>
'SHP',
1655 'FULL_NAME' =>
'Saint Helena Pound',
1656 'FORMAT_STRING' =>
'£#VALUE#',
1657 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1658 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1664 'NUM_CODE' =>
'678',
1665 'SYM_CODE' =>
'STD',
1667 'FULL_NAME' =>
'Dobra',
1668 'FORMAT_STRING' =>
'Db#VALUE#',
1669 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1670 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1676 'NUM_CODE' =>
'682',
1677 'SYM_CODE' =>
'SAR',
1679 'FULL_NAME' =>
'Saudi Riyal',
1680 'FORMAT_STRING' =>
'﷼#VALUE#',
1681 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1682 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1688 'NUM_CODE' =>
'690',
1689 'SYM_CODE' =>
'SCR',
1691 'FULL_NAME' =>
'Seychelles Rupee',
1692 'FORMAT_STRING' =>
'₨#VALUE#',
1693 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1694 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1700 'NUM_CODE' =>
'694',
1701 'SYM_CODE' =>
'SLL',
1703 'FULL_NAME' =>
'Leone',
1704 'FORMAT_STRING' =>
'Le#VALUE#',
1705 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1706 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1712 'NUM_CODE' =>
'702',
1713 'SYM_CODE' =>
'SGD',
1715 'FULL_NAME' =>
'Singapore Dollar',
1716 'FORMAT_STRING' =>
'$#VALUE#',
1717 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1718 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1724 'NUM_CODE' =>
'704',
1725 'SYM_CODE' =>
'VND',
1727 'FULL_NAME' =>
'Dong',
1728 'FORMAT_STRING' =>
'#VALUE# ₫',
1729 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1730 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1736 'NUM_CODE' =>
'706',
1737 'SYM_CODE' =>
'SOS',
1739 'FULL_NAME' =>
'Somali Shilling',
1740 'FORMAT_STRING' =>
'So.#VALUE#',
1741 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1742 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1748 'NUM_CODE' =>
'710',
1749 'SYM_CODE' =>
'ZAR',
1751 'FULL_NAME' =>
'Rand',
1752 'FORMAT_STRING' =>
'R#VALUE#',
1753 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1754 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1760 'NUM_CODE' =>
'728',
1761 'SYM_CODE' =>
'SSP',
1763 'FULL_NAME' =>
'South Sudanese Pound',
1764 'FORMAT_STRING' =>
'SSP#VALUE#',
1765 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1766 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1772 'NUM_CODE' =>
'748',
1773 'SYM_CODE' =>
'SZL',
1775 'FULL_NAME' =>
'Lilangeni',
1776 'FORMAT_STRING' =>
'E#VALUE#',
1777 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1778 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1784 'NUM_CODE' =>
'752',
1785 'SYM_CODE' =>
'SEK',
1787 'FULL_NAME' =>
'Swedish Krona',
1788 'FORMAT_STRING' =>
'kr#VALUE#',
1789 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1790 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1796 'NUM_CODE' =>
'756',
1797 'SYM_CODE' =>
'CHF',
1799 'FULL_NAME' =>
'Swiss Franc',
1800 'FORMAT_STRING' =>
'₣#VALUE#',
1801 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1802 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1808 'NUM_CODE' =>
'760',
1809 'SYM_CODE' =>
'SYP',
1811 'FULL_NAME' =>
'Syrian Pound',
1812 'FORMAT_STRING' =>
'SP#VALUE#',
1813 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1814 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1820 'NUM_CODE' =>
'764',
1821 'SYM_CODE' =>
'THB',
1823 'FULL_NAME' =>
'Baht',
1824 'FORMAT_STRING' =>
'฿#VALUE#',
1825 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1826 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1832 'NUM_CODE' =>
'776',
1833 'SYM_CODE' =>
'TOP',
1835 'FULL_NAME' =>
'Paanga',
1836 'FORMAT_STRING' =>
'$#VALUE#',
1837 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1838 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1844 'NUM_CODE' =>
'780',
1845 'SYM_CODE' =>
'TTD',
1847 'FULL_NAME' =>
'Trinidad and Tobago Dollar',
1848 'FORMAT_STRING' =>
'$#VALUE#',
1849 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1850 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1856 'NUM_CODE' =>
'784',
1857 'SYM_CODE' =>
'AED',
1859 'FULL_NAME' =>
'UAE Dirham',
1860 'FORMAT_STRING' =>
'Dh#VALUE#',
1861 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1862 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1868 'NUM_CODE' =>
'788',
1869 'SYM_CODE' =>
'TND',
1871 'FULL_NAME' =>
'Tunisian Dinar',
1872 'FORMAT_STRING' =>
'TD#VALUE#',
1873 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1874 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1880 'NUM_CODE' =>
'800',
1881 'SYM_CODE' =>
'UGX',
1883 'FULL_NAME' =>
'Uganda Shilling',
1884 'FORMAT_STRING' =>
'USh#VALUE#',
1885 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1886 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1892 'NUM_CODE' =>
'807',
1893 'SYM_CODE' =>
'MKD',
1895 'FULL_NAME' =>
'Denar',
1896 'FORMAT_STRING' =>
'MDen#VALUE#',
1897 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1898 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1904 'NUM_CODE' =>
'818',
1905 'SYM_CODE' =>
'EGP',
1907 'FULL_NAME' =>
'Egyptian Pound',
1908 'FORMAT_STRING' =>
'LE#VALUE#',
1909 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1910 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1916 'NUM_CODE' =>
'826',
1917 'SYM_CODE' =>
'GBP',
1919 'FULL_NAME' =>
'Pound Sterling',
1920 'FORMAT_STRING' =>
'£#VALUE#',
1921 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1922 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1928 'NUM_CODE' =>
'834',
1929 'SYM_CODE' =>
'TZS',
1931 'FULL_NAME' =>
'Tanzanian Shilling',
1932 'FORMAT_STRING' =>
'TSh#VALUE#',
1933 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1934 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1940 'NUM_CODE' =>
'840',
1941 'SYM_CODE' =>
'USD',
1943 'FULL_NAME' =>
'US Dollar',
1944 'FORMAT_STRING' =>
'$#VALUE#',
1945 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1946 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1952 'NUM_CODE' =>
'858',
1953 'SYM_CODE' =>
'UYU',
1955 'FULL_NAME' =>
'Peso Uruguayo',
1956 'FORMAT_STRING' =>
'$#VALUE#',
1957 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1958 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1964 'NUM_CODE' =>
'860',
1965 'SYM_CODE' =>
'UZS',
1967 'FULL_NAME' =>
'Uzbekistan Sum',
1968 'FORMAT_STRING' =>
'UZS#VALUE#',
1969 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1970 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1976 'NUM_CODE' =>
'882',
1977 'SYM_CODE' =>
'WST',
1979 'FULL_NAME' =>
'Tala',
1980 'FORMAT_STRING' =>
'$#VALUE#',
1981 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1982 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
1988 'NUM_CODE' =>
'886',
1989 'SYM_CODE' =>
'YER',
1991 'FULL_NAME' =>
'Yemeni Rial',
1992 'FORMAT_STRING' =>
'﷼#VALUE#',
1993 'DEC_POINT' => self::DECIMAL_POINT_DOT,
1994 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2000 'NUM_CODE' =>
'901',
2001 'SYM_CODE' =>
'TWD',
2003 'FULL_NAME' =>
'New Taiwan Dollar',
2004 'FORMAT_STRING' =>
'NT$#VALUE#',
2005 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2006 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2012 'NUM_CODE' =>
'931',
2013 'SYM_CODE' =>
'CUC',
2015 'FULL_NAME' =>
'Peso Convertible',
2016 'FORMAT_STRING' =>
'CUC#VALUE#',
2017 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2018 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2024 'NUM_CODE' =>
'932',
2025 'SYM_CODE' =>
'ZWL',
2027 'FULL_NAME' =>
'Zimbabwe Dollar',
2028 'FORMAT_STRING' =>
'$#VALUE#',
2029 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2030 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2036 'NUM_CODE' =>
'933',
2037 'SYM_CODE' =>
'BYN',
2039 'FULL_NAME' =>
'Belarusian Ruble',
2040 'FORMAT_STRING' =>
'Br#VALUE#',
2041 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2042 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2048 'NUM_CODE' =>
'934',
2049 'SYM_CODE' =>
'TMT',
2051 'FULL_NAME' =>
'Turkmenistan New Manat',
2052 'FORMAT_STRING' =>
'm#VALUE#',
2053 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2054 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2060 'NUM_CODE' =>
'936',
2061 'SYM_CODE' =>
'GHS',
2063 'FULL_NAME' =>
'Ghana Cedi',
2064 'FORMAT_STRING' =>
'₵#VALUE#',
2065 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2066 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2072 'NUM_CODE' =>
'937',
2073 'SYM_CODE' =>
'VEF',
2075 'FULL_NAME' =>
'Bolivar',
2076 'FORMAT_STRING' =>
'Bs#VALUE#',
2077 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2078 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2084 'NUM_CODE' =>
'938',
2085 'SYM_CODE' =>
'SDG',
2087 'FULL_NAME' =>
'Sudanese Pound',
2088 'FORMAT_STRING' =>
'£#VALUE#',
2089 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2090 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2096 'NUM_CODE' =>
'940',
2097 'SYM_CODE' =>
'UYI',
2099 'FULL_NAME' =>
'Uruguay Peso en Unidades Indexadas (URUIURUI)',
2100 'FORMAT_STRING' =>
'UYI#VALUE#',
2101 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2102 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2108 'NUM_CODE' =>
'941',
2109 'SYM_CODE' =>
'RSD',
2111 'FULL_NAME' =>
'Serbian Dinar',
2112 'FORMAT_STRING' =>
'din.#VALUE#',
2113 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2114 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2120 'NUM_CODE' =>
'943',
2121 'SYM_CODE' =>
'MZN',
2123 'FULL_NAME' =>
'Mozambique Metical',
2124 'FORMAT_STRING' =>
'MT#VALUE#',
2125 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2126 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2132 'NUM_CODE' =>
'944',
2133 'SYM_CODE' =>
'AZN',
2135 'FULL_NAME' =>
'Azerbaijan Manat',
2136 'FORMAT_STRING' =>
'₼#VALUE#',
2137 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2138 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2144 'NUM_CODE' =>
'946',
2145 'SYM_CODE' =>
'RON',
2147 'FULL_NAME' =>
'Romanian Leu',
2148 'FORMAT_STRING' =>
'L#VALUE#',
2149 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2150 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2156 'NUM_CODE' =>
'947',
2157 'SYM_CODE' =>
'CHE',
2159 'FULL_NAME' =>
'WIR Euro',
2160 'FORMAT_STRING' =>
'CHE#VALUE#',
2161 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2162 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2168 'NUM_CODE' =>
'948',
2169 'SYM_CODE' =>
'CHW',
2171 'FULL_NAME' =>
'WIR Franc',
2172 'FORMAT_STRING' =>
'CHW#VALUE#',
2173 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2174 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2180 'NUM_CODE' =>
'949',
2181 'SYM_CODE' =>
'TRY',
2183 'FULL_NAME' =>
'Turkish Lira',
2184 'FORMAT_STRING' =>
'₺#VALUE#',
2185 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2186 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2192 'NUM_CODE' =>
'950',
2193 'SYM_CODE' =>
'XAF',
2195 'FULL_NAME' =>
'CFA Franc BEAC',
2196 'FORMAT_STRING' =>
'₣#VALUE#',
2197 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2198 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2204 'NUM_CODE' =>
'951',
2205 'SYM_CODE' =>
'XCD',
2207 'FULL_NAME' =>
'East Caribbean Dollar',
2208 'FORMAT_STRING' =>
'$#VALUE#',
2209 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2210 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2216 'NUM_CODE' =>
'952',
2217 'SYM_CODE' =>
'XOF',
2219 'FULL_NAME' =>
'CFA Franc BCEAO',
2220 'FORMAT_STRING' =>
'₣#VALUE#',
2221 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2222 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2228 'NUM_CODE' =>
'953',
2229 'SYM_CODE' =>
'XPF',
2231 'FULL_NAME' =>
'CFP Franc',
2232 'FORMAT_STRING' =>
'₣#VALUE#',
2233 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2234 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2240 'NUM_CODE' =>
'955',
2241 'SYM_CODE' =>
'XBA',
2243 'FULL_NAME' =>
'Bond Markets Unit European Composite Unit (EURCO)',
2244 'FORMAT_STRING' =>
'XBA#VALUE#',
2245 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2246 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2252 'NUM_CODE' =>
'956',
2253 'SYM_CODE' =>
'XBB',
2255 'FULL_NAME' =>
'Bond Markets Unit European Monetary Unit (E.M.U.-6)',
2256 'FORMAT_STRING' =>
'XBB#VALUE#',
2257 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2258 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2264 'NUM_CODE' =>
'957',
2265 'SYM_CODE' =>
'XBC',
2267 'FULL_NAME' =>
'Bond Markets Unit European Unit of Account 9 (E.U.A.-9)',
2268 'FORMAT_STRING' =>
'XBC#VALUE#',
2269 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2270 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2276 'NUM_CODE' =>
'958',
2277 'SYM_CODE' =>
'XBD',
2279 'FULL_NAME' =>
'Bond Markets Unit European Unit of Account 17 (E.U.A.-17)',
2280 'FORMAT_STRING' =>
'XBD#VALUE#',
2281 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2282 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2288 'NUM_CODE' =>
'959',
2289 'SYM_CODE' =>
'XAU',
2291 'FULL_NAME' =>
'Gold',
2292 'FORMAT_STRING' =>
'XAU#VALUE#',
2293 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2294 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2300 'NUM_CODE' =>
'960',
2301 'SYM_CODE' =>
'XDR',
2303 'FULL_NAME' =>
'SDR (Special Drawing Right)',
2304 'FORMAT_STRING' =>
'SDR#VALUE#',
2305 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2306 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2312 'NUM_CODE' =>
'961',
2313 'SYM_CODE' =>
'XAG',
2315 'FULL_NAME' =>
'Silver',
2316 'FORMAT_STRING' =>
'XAG#VALUE#',
2317 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2318 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2324 'NUM_CODE' =>
'962',
2325 'SYM_CODE' =>
'XPT',
2327 'FULL_NAME' =>
'Platinum',
2328 'FORMAT_STRING' =>
'XPT#VALUE#',
2329 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2330 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2336 'NUM_CODE' =>
'964',
2337 'SYM_CODE' =>
'XPD',
2339 'FULL_NAME' =>
'Palladium',
2340 'FORMAT_STRING' =>
'XPD#VALUE#',
2341 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2342 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2348 'NUM_CODE' =>
'965',
2349 'SYM_CODE' =>
'XUA',
2351 'FULL_NAME' =>
'ADB Unit of Account',
2352 'FORMAT_STRING' =>
'XUA#VALUE#',
2353 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2354 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2360 'NUM_CODE' =>
'967',
2361 'SYM_CODE' =>
'ZMW',
2363 'FULL_NAME' =>
'Zambian Kwacha',
2364 'FORMAT_STRING' =>
'K#VALUE#',
2365 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2366 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2372 'NUM_CODE' =>
'968',
2373 'SYM_CODE' =>
'SRD',
2375 'FULL_NAME' =>
'Surinam Dollar',
2376 'FORMAT_STRING' =>
'$#VALUE#',
2377 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2378 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2384 'NUM_CODE' =>
'969',
2385 'SYM_CODE' =>
'MGA',
2387 'FULL_NAME' =>
'Malagasy Ariary',
2388 'FORMAT_STRING' =>
'Ar.#VALUE#',
2389 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2390 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2396 'NUM_CODE' =>
'970',
2397 'SYM_CODE' =>
'COU',
2399 'FULL_NAME' =>
'Unidad de Valor Real',
2400 'FORMAT_STRING' =>
'COU#VALUE#',
2401 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2402 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2408 'NUM_CODE' =>
'971',
2409 'SYM_CODE' =>
'AFN',
2411 'FULL_NAME' =>
'Afghani',
2412 'FORMAT_STRING' =>
'؋#VALUE#',
2413 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2414 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2420 'NUM_CODE' =>
'972',
2421 'SYM_CODE' =>
'TJS',
2423 'FULL_NAME' =>
'Somoni',
2424 'FORMAT_STRING' =>
'c.#VALUE#',
2425 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2426 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2432 'NUM_CODE' =>
'973',
2433 'SYM_CODE' =>
'AOA',
2435 'FULL_NAME' =>
'Kwanza',
2436 'FORMAT_STRING' =>
'Kz#VALUE#',
2437 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2438 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2444 'NUM_CODE' =>
'975',
2445 'SYM_CODE' =>
'BGN',
2447 'FULL_NAME' =>
'Bulgarian Lev',
2448 'FORMAT_STRING' =>
'BGN#VALUE#',
2449 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2450 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2456 'NUM_CODE' =>
'976',
2457 'SYM_CODE' =>
'CDF',
2459 'FULL_NAME' =>
'Congolese Franc',
2460 'FORMAT_STRING' =>
'₣#VALUE#',
2461 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2462 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2468 'NUM_CODE' =>
'977',
2469 'SYM_CODE' =>
'BAM',
2471 'FULL_NAME' =>
'Convertible Mark',
2472 'FORMAT_STRING' =>
'KM#VALUE#',
2473 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2474 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2480 'NUM_CODE' =>
'978',
2481 'SYM_CODE' =>
'EUR',
2483 'FULL_NAME' =>
'Euro',
2484 'FORMAT_STRING' =>
'€#VALUE#',
2485 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2486 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2492 'NUM_CODE' =>
'979',
2493 'SYM_CODE' =>
'MXV',
2495 'FULL_NAME' =>
'Mexican Unidad de Inversion (UDI)',
2496 'FORMAT_STRING' =>
'MXV#VALUE#',
2497 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2498 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2504 'NUM_CODE' =>
'980',
2505 'SYM_CODE' =>
'UAH',
2507 'FULL_NAME' =>
'Hryvnia',
2508 'FORMAT_STRING' =>
'₴#VALUE#',
2509 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2510 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2516 'NUM_CODE' =>
'981',
2517 'SYM_CODE' =>
'GEL',
2519 'FULL_NAME' =>
'Lari',
2520 'FORMAT_STRING' =>
'₾#VALUE#',
2521 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2522 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2528 'NUM_CODE' =>
'984',
2529 'SYM_CODE' =>
'BOV',
2531 'FULL_NAME' =>
'Mvdol',
2532 'FORMAT_STRING' =>
'BOV#VALUE#',
2533 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2534 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2540 'NUM_CODE' =>
'985',
2541 'SYM_CODE' =>
'PLN',
2543 'FULL_NAME' =>
'Zloty',
2544 'FORMAT_STRING' =>
'#VALUE# zł',
2545 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2546 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2552 'NUM_CODE' =>
'986',
2553 'SYM_CODE' =>
'BRL',
2555 'FULL_NAME' =>
'Brazilian Real',
2556 'FORMAT_STRING' =>
'R$ #VALUE#',
2557 'DEC_POINT' => self::DECIMAL_POINT_COMMA,
2558 'THOUSANDS_VARIANT' => self::SEPARATOR_DOT,
2564 'NUM_CODE' =>
'990',
2565 'SYM_CODE' =>
'CLF',
2567 'FULL_NAME' =>
'Unidad de Fomento',
2568 'FORMAT_STRING' =>
'CLF#VALUE#',
2569 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2570 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2576 'NUM_CODE' =>
'994',
2577 'SYM_CODE' =>
'XSU',
2579 'FULL_NAME' =>
'Sucre',
2580 'FORMAT_STRING' =>
'XSU#VALUE#',
2581 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2582 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,
2588 'NUM_CODE' =>
'997',
2589 'SYM_CODE' =>
'USN',
2591 'FULL_NAME' =>
'US Dollar (Next day)',
2592 'FORMAT_STRING' =>
'USN#VALUE#',
2593 'DEC_POINT' => self::DECIMAL_POINT_DOT,
2594 'THOUSANDS_VARIANT' => self::SEPARATOR_COMMA,