我正在努力输出一个每24个月增加一次的分级付款时间表。我在使支付值正确增加时遇到一些麻烦,因此支付2是初始支付乘以增量的总和。然后,支付3是支付总额的2倍。例如,前几次付款应该是这样的......
付款1:274.22美元增加付款13.64美元
付款2:287.86美元增加付款15.03美元
付款3:$ 302.18增加付款$ 15.78
付款4:317.22美元增加付款16.57美元
依此类推......增量为.04975。初始支付时间增量+原始支付金额成为支付2.然后,第二次支付次数增加+支付2成为第三次支付。第三次付款乘以增量+第三次付款变为付款4等...
我正在使用循环,就像这样......
<cfset loopterm = 360 />
<cfset incr = .04975 />
<cfset gradinital = 274.22 />
<cfloop from="1" to="#( loopterm / 24 )#" index="i">
<cfset newamt = newamt + ( gradinitial * incr ) />
<cfoutput>
#dollarformat( newamt )#
</cfoutput>
</cfloop>
问题是增加的数量总是相同而且没有毕业。
感谢您提供任何帮助。
答案 0 :(得分:1)
我认为你很接近,但是你在每次计算中都使用相同的gradinitial
值,所以你的增加值总是一样的。
<cfset loopterm = 360>
<cfset incr = .04975>
<cfset newamt = 274.22>
<cfloop from="1" to="#( loopterm / 24 )#" index="i">
<cfoutput>
#dollarformat(newamt)#<br />
</cfoutput>
<cfset newamt = newamt + ( newamt * incr ) />
</cfloop>
这会生成如下结果集:
$274.22
$287.86
$302.18
$317.22
$333.00
$349.57
$366.96
$385.21
$404.38
$424.49
$445.61
$467.78
$491.05
$515.48
$541.13
这并不完美,但希望能让你走上正轨。