There is a built in function from the Microsoft.VisualBasic assembly. I can use it in VB like this:
Financial.Pmt((dAPR / 100) / 12, iNumberOfPayments, dLoan
Like this:
using System;
using Microsoft.VisualBasic;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double dAPR = 2;
Int32 iNumberOfPayments = 12;
double dLoanAmount = 10000;
Console.WriteLine(Financial.Pmt((dAPR / 100) / 12, iNumberOfPayments, dLoanAmount, 0, DueDate.EndOfPeriod) * -1);
Console.ReadLine();
}
}
}
Do use Microsoft.VisualBasic from C# when appropriate. It's a fully supported core library in .Net and it contains some useful financial functions.