2013-12-12 2 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가 세 번째 지불됩니다. 세 번째 지급 배 증가 + 세 번째 지불

나는이 같은 루프와 함께 일하고 ...

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

문제가 증가한 항상 같은 양이다 ... 지급 4 등이된다 졸업하지 않습니다.

제공 할 수있는 도움에 감사드립니다.

답변

1

나는 가까운 사이라고 생각하지만 모든 계산에서 동일한 gradinitial 값을 사용하고 있으므로 증가 값은 항상 같습니다. 그것은 완벽하지,하지만 잘하면 곧 정상 궤도에 당신을 얻을 것을

$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 

:

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

이이 같은 결과 집합을 생성합니다.

+0

''을 사용하면 조금 더 간단 해집니다. –

+0

완전하지 않다고 말하면 내 상상력입니까, 아니면 무한 루프입니까? –

+0

@DanBracuk 그것은 무한하지 않습니다. 이 경우 1에서 15까지. –