2013-12-12 67 views
0

我正在輸出一個每24個月增加一次的分級付款時間表。在支付值正確增加時我遇到了一些麻煩,因此付款2是初始付款與增量的總和。然後,付款3是付款總額的2倍。例如,第一對夫婦的支付應該是這樣的......coldfusion循環可變增量值

付款方式1:$ 274.22增加支付$ 13.64
付款2:$ 287.86增加支付$ 15.03
支付3:$ 302.18增加支付$ 15.78
支付4:$ 317.22增加付款$ 16.57

等等......增量是0.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

我認爲你很接近,但是你在每次計算中都使用相同的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 

它並不完美,但希望得到您在正確的軌道上。

+0

使用'使事情變得簡單 –

+0

說到不完美,是我的想象,還是這是一個無限循環? –

+0

@DanBracuk它不是無限的。在這種情況下從1到15。 –