Есть ли в .NET способ создать тип, производный от десятичного числа, который будет использоваться в качестве валюты, поэтому он округляет арифметические операции до нужного количества десятичных знаков.
Если нет, то какиелучшая практика для этого в .NET?
РЕДАКТИРОВАТЬ (мотивация):
Допустим, у меня есть цена:
125.00 Rep$
, и я продаю 0.25
кускиэто, что составляет 31.25
Теперь у меня есть скидка 15%, и для расчета скидки и представления ее в абсолютном значении у меня будет:
31.25 * .85 = 26.5625
Если яиспользуйте другой способ:
31.25 * .15 = 4.6875
Если я позволю стороннему контролю обрезать его и отобразить, например, у меня может быть:
26.56 +
4.68 =
-----
31.24
И каждый бухгалтер съест ваше очагесли вы дадите ей что-то в этом роде.
Добавьте сюда налог, и проблема умножится еще больше.
Итак, НЕТ хранить столько десятичных знаков и округлять их как можно позже.Создайте класс, который сделает это с финансовой точки зрения, и сохраните его как можно скорее округленным / усеченным.