首页
学习
活动
专区
圈层
工具
发布

计算APR
EN

Stack Overflow用户
提问于 2018-11-09 15:10:01
回答 1查看 381关注 0票数 1

我使用Microsoft.VisualBasic程序集来使用ratePmt,原因是当我运行我的代码时,它总是给我一个完全错误的号码

我已经彻底阅读了文档,似乎找不出问题所在:

代码语言:javascript
复制
origFee30YearRate = 0.04875M;
double Nper = 360;
double Pmt = Financial.Pmt((double)(origFee30YearRate / 12), Nper, 100000);
double PV = ((Pmt * Nper) * -1) - 1775.25;

var org30APR = (Financial.Rate(Nper, Pmt, PV)) * 12;

这些价值观的结果是:

代码语言:javascript
复制
Nper: 360
Pmt: -529.20822384932933
PV: 188739.71058575856

我不知道在计算Rate时出了什么问题,Rate的输出是:0.0006268633835987544 where is with 5.14

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-09 15:27:24

启动origFee30YearRate似乎是不正确的。4.75%应指定为0.0475,而不是4.75。而且,你似乎不正确地改变了付款的标志。

代码语言:javascript
复制
double origFee30YearRate = 0.0475;

double Nper = 360;
double Pmt = Financial.Pmt(origFee30YearRate / 12, Nper, 100000);
double PV = (100000 - (100000 * origFee30YearRate / 365 * 15) - (100000 * (1 / 100)) - 1775.25);

var org30APR = Financial.Rate(Nper, Pmt, PV) * 12;

这将返回4.92%的利率,想必你是在试图将利率计算回4.75%?

你没有得到4.75%的钱是因为PVal是你借了多少钱,我不完全确定你为什么要计算它。

代码语言:javascript
复制
double origFee30YearRate = 0.0475;

double Nper = 360;
double Pmt = Financial.Pmt(origFee30YearRate / 12, Nper, 100000);

var org30APR = Financial.Rate(Nper, Pmt, 100000) * 12;

另外,如果你想把你的单位变回%,只需乘以100。

代码语言:javascript
复制
var org30APR = (Financial.Rate(Nper, Pmt, 100000) * 12) * 100;

对于APR,我相信你只需要减去费用。

代码语言:javascript
复制
var apr = (Financial.Rate(Nper, Pmt, (100000 - 1775.25)) * 12) * 100;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53228333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档