Один из множителей - это ставка: 1 / ставка ^ (дней / 365).
Причина отсутствия функции десятичной степени в том, что было бы бессмысленно использовать decimal
для этого вычисления. Используйте double
.
Помните, что десятичная точка должна гарантировать, что вы получите точную арифметику со значениями, которые могут быть точно , представленными как короткие десятичные числа. Для разумных значений rate
и days
значения любых других подвыражений явно , а не , которые будут точно представлены в виде коротких десятичных значений. Вы будете иметь дело с неточными значениями, поэтому используйте тип, предназначенный для быстрых вычислений слегка неточных значений, например double.
Результаты, рассчитанные в двойных единицах, будут отклоняться на несколько миллиардов копеек, так или иначе. Какая разница? Вы исправите ошибку позже . У расчета ставки в двойниках. Получив результат, который необходимо снова превратить в валюту, умножьте результат на десять тысяч, округлите его до ближайшего целого числа, преобразуйте в десятичное число, а затем снова разделите на десять тысяч, и вы результат будет с точностью до четырех знаков после запятой, что должно быть достаточно для финансовых расчетов.