Кто-нибудь знает о уже реализованном типе денег для платформы .NET, которая поддерживает i18n (валюты, форматирование и т.д.)? Я искал хорошо реализованный тип и не могу найти его.
Кто-нибудь знает тип денег в .NET?
Ответ 1
Отметьте эту статью Тип денег для среды CLR
Удобные, высокопроизводительные деньги структура для CLR, которая обрабатывает арифметические операции, типы валют, форматирование и тщательное распределение и округление без потерь.
Ответ 2
Я думаю, вы хотите использовать десятичный тип данных и использовать соответствующую перегрузку для ToString().
CultureInfo current = CultureInfo.CurrentCulture;
decimal myMoney = 99.99m;
//formats as money in current culture, like $99.99
string formattedMoney = myMoney.ToString("C", current);
Ответ 3
я использовал бы integer/long и использовал бы очень низкую деноминацию, например, цента (или пенсы) - тогда не было бы десятичного числа, с которым можно было бы работать, и все вычисления можно округлить до ближайшего значения.
или, взгляните на книгу Мартина Фаулера "Шаблоны архитектуры корпоративных приложений". В этой книге он рассказал о том, как реализовать денежный класс. http://www.amazon.com/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420