Вы можете использовать библиотеку Microsoft.VisualBasic
, но это не кажется мне очень элегантным решением. Я не удивлюсь, если в будущем это будет устаревшим.
Хорошим решением было бы простое расширение:
public decimal PresentValue(this decimal value, decimal interestRate,
decimal years)
{
return value / Math.Pow(1 + interestRate, years);
}
Это, конечно, основано на простом определении сложных процентов. Существуют вариации текущей стоимости, которые можно рассчитать аналогичным образом.
Обратите внимание на использование типа decimal
для сохранения точности базы 10. Это также позволяет использовать дробную продолжительность времени с помощью Math.Pow
.