coldfusion循环变量增量值

时间:2013-12-12 21:09:28

标签: variables coldfusion increment cfloop

我正在努力输出一个每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>

问题是增加的数量总是相同而且没有毕业。

感谢您提供任何帮助。

1 个答案:

答案 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

这并不完美,但希望能让你走上正轨。