有一个来自Microsoft.VisualBasic程序集的内置函数。我可以在VB中像这样使用它:
Financial.Pmt((dAPR / 100) / 12, iNumberOfPayments, dLoanAmount) * -1我当前的项目在C#中,我需要使用此函数。网上的答案是只需添加名称空间和程序集,并在C#中使用相同的名称空间和程序集-但这不是真的!C#仍然无法识别此公式。
那么,如何在C#中使用use Financial.Pmt (或者甚至可以将源代码移植到其中)?谢谢你的帮助。
发布于 2010-06-30 19:44:21
如下所示:
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。它是一个完全支持.Net的核心库,它包含一些有用的金融函数。
发布于 2015-04-05 02:15:13
适用于那些不喜欢导入VB函数的人。下面是PMT的纯C#代码
public static double PMT(double yearlyInterestRate, int totalNumberOfMonths, double loanAmount)
{
var rate = (double) yearlyInterestRate / 100 / 12;
var denominator = Math.Pow((1 + rate), totalNumberOfMonths) - 1;
return (rate + (rate/denominator)) * loanAmount;
}用法:
PMT(7, 360, 120000);
// Result: 798.36
PMT(4.5, 360, 137500.47);
// Result: 696.69
PMT(4.13, 360, 61520);
// Result: 298.33
PMT(6.38, 360, 89200);
// Result: 556.78发布于 2010-06-30 03:47:56
如前所述,您可以使用提供大量VB6功能的Microsoft.VisualBasic程序集。但老实说,如果你更一般地看财务计算,你应该考虑看看Excel Financial Functions for .NET。
更新:可以通过NuGet安装库
https://stackoverflow.com/questions/3143599
复制相似问题