CurrencyConverter
Table of Contents
Namespaces
- Contract
- Exception
- Parser
- Provider
- Security
Classes
- BatchConverter
- Пакетная конвертация ленивым генератором: в памяти только текущая сумма.
- Converter
- Конвертация суммы по курсу и отдельный путь округления до шага наличных.
- Currency
- Валюта ISO 4217: буквенный код, цифровой номер, минорные единицы и шаг наличных.
- CurrencyCatalog
- Справочник ISO 4217. По умолчанию читает data/iso4217.csv, исторические коды подгружаются отдельно.
- CurrencyNames
- Дополнительные названия валют по локали. Нет перевода — английское имя из справочника.
- CurrencyPair
- Пара валют и необязательная дата курса (исторический срез).
- DateGuard
- Проверка календарной даты ISO (YYYY-MM-DD) без обращений к статическим часам.
- DecimalRate
- Разбор десятичной записи курса («1.0850», «2», «.5») в дробь.
- ExchangeRate
- Курс как несократимая дробь числитель/знаменатель. Float не используется.
- FeeCalculator
- Комиссия в базисных пунктах, добавляемая к сумме.
- FeedLoader
- Загрузка фида по URL: адрес проверяется до сети, транспорт передаёт вызывающий код.
- IntegerMath
- Целочисленная арифметика без float: переполнение ловится, деление округляется явно.
- LocaleFormats
- Готовые правила записи суммы для распространённых локалей.
- LocaleFormatter
- Формат суммы по правилам локали: десятичный знак, разделитель разрядов и место символа.
- Money
- Неизменяемая сумма в минорных единицах валюты (центы, копейки, йены).
- MoneyAggregate
- Сводные операции над списком сумм одной валюты: минимум, максимум, сумма, среднее, остаток.
- MoneyAllocator
- Распределение суммы по целочисленным долям без потери минорной единицы.
- MoneyArithmetic
- Арифметика сумм одной валюты: сложение, умножение, сравнение, модуль.
- MoneyBag
- Мультивалютная корзина: суммы копятся по валютам, итог считается в одной валюте.
- MoneyFormatter
- Текстовое представление суммы: символ, код ISO и группировка разрядов.
- MoneyParser
- Разбор суммы из десятичной записи основной единицы («10.50», «-1», «100» для йены).
- QuotientRounding
- Округление неполного частного. Вынесено из IntegerMath, чтобы удержать сложность класса.
- RateQuote
- Двусторонний курс: bid, ask и середина спреда в базисных пунктах.
Enums
- CurrencyStatus
- Статус записи справочника ISO 4217: действующая или выведенная из обращения.
- RoundingMode
- Режим округления денежной суммы при делении и конвертации.
- SymbolPosition
- Где стоит символ валюты относительно числа.