背景:做一个预算组合计划,我正在尝试添加一个复合利息计算器,以节省客户的费用。在这里遇到一些问题。 所以这是我目前的公式。
double comprinc= 25*(Math.pow((1+.05/12),(12*year)));
double futurev = saving1*(Math.pow((1+.05/12),((12*year)-1))/(.05/12));
这是以下公式分为两半
总= [P(1 + r / n)^ nt] + [PMT *(((1 + r / n)^ nt - 1)/(r / n))] 或
总计= comprinc + futurev
P =原则= 25
r = rate = .05
n =复利的时间数量
t =年数= 5(当前年份设为5)
PMT =初始储蓄=储蓄1 = 25
问题是我正在对官方复利计算器进行测试 而我得到的答案并非如此接近。
例如,我的程序在5年后读出的答案是$ 7700.28,应该是$ 1739.32
答案 0 :(得分:0)
我认为关键是-1不是指数的一部分。我也试图通过减少计算和括号来简化这里。
double intPerPeriod = .05/12;
double numPeriods = 12*year;
double comprinc= 25*(Math.pow(1+intPerPeriod,numPeriods));
double futurev = saving1*(Math.pow(1+intPerPeriod,numPeriods)-1)/intPerPeriod;