Ищете хороший тип данных денег для .NET, который поддерживает валюты и обменные курсы (с соответствующими функциями и операциями).
- Примечание. Я начал поиск исходного кода, который был напечатан в книге Разработка через тестирование на примере автора Кента Бека - он разрабатывает красивую денежную концепцию. Невозможно найти полный источник в Интернете. В книге нет единственного списка - вместо этого исходный код разрабатывается на протяжении всей книги.
Хотя книга не углубляется, я также хотел бы, чтобы класс Money поддерживал различные механизмы округления, потому что они также различаются в зависимости от финансовых учреждений по всему миру.
Редактировать 1: Уточнения
Под «классом денег» я подразумеваю тип данных .NET, который я могу использовать для поддержки денег и их операций, в комплекте с поддержкой валюты и расчетами обменного курса. Нечто подобное является абстракцией более высокого уровня и может внутренне использовать примитивный тип данных. Также он может полагаться на набор классов, таких как: Money, ExchangeRate, Bank и т. Д.
Это может быть тип значения (например, структура) или ссылочный тип (например, класс), но в любом случае он будет полным и поддерживать вышеупомянутые функции.
Изменить 2: Цели типа данных Money
(Это также показывает, почему необработанный десятичный, int или другой примитивный тип не подходит для всех потребностей в деньгах)
Цели типа данных Money:
- Функции безопасности (например, предотвращение арифметических операций с разными типами валют).
- Сохраните тип валюты со значением (например, AUD, US, DKK).
- Сохраните детали форматирования (например, десятичную группировку, символы валюты и т. Д.).
- Поставщики конверсии (например, обменный курс), которые помогут завершить решение.
- Сократите количество валют в выражении для достижения результата.
Примечание. Различные значения данных, например обменные курсы, могут быть загружены из внешнего источника и использованы. Этот вопрос не означает, что что-то динамическое жестко закодировано в концепции денег.