While 루프가있는 자바 스크립트 대출 계산기

사용자 3389685

이 프로그램은 대출금을 갚는데 몇 개월이 걸릴지 결정해야합니다. 내 수학적 계산을 수정하는 방법을 알아낼 수없는 것 같습니다. while 루프가 잘못된 것인지 확실하지 않습니다. 사용자 입력을 기반으로 월별 지불을 결정하는 대신 입력은 총 개월 수를 표시합니다 (원하지 않습니다. 프로그램이 그렇게해야 함). 다음과 같이 표시되어야합니다. http://snag.gy/9vzGi.jpg 코드는 다음과 같습니다.

<html>
<head>
<title></title>

<script type="text/javascript">

 function fixVal(value,numberOfCharacters,numberOfDecimals,padCharacter) { 
    var i, stringObject, stringLength, numberToPad;            

    value = value * Math.pow(10,numberOfDecimals);                 
    value = Math.round(value);                                   
    stringObject = new String(value);                            
    stringLength = stringObject.length;                          
    while(stringLength < numberOfDecimals) {                     
        stringObject = "0"+stringObject;                    
        stringLength=stringLength+1;                      
    }

    if(numberOfDecimals>0) {                       
        stringObject=stringObject.substring(0,stringLength-numberOfDecimals)+"."+
        stringObject.substring(stringLength-numberOfDecimals,stringLength);
    }

    if (stringObject.length<numberOfCharacters && numberOfCharacters>0) {
        numberToPad=numberOfCharacters-stringObject.length;      
        for (i=0; i<numberToPad; i=i+1) {
            stringObject=padCharacter+stringObject;
        }
    }

    return stringObject;                                      
}

function buildTable() {

    var amount=parseFloat(document.getElementById("loanAmt").value );
    var numpay=parseInt(document.getElementById("monthlyPay").value );
    var rate=parseFloat(document.getElementById("intRte").value );

    rate = rate / 100;
    var monthly = rate / 12;
    var payment = ((amount * monthly) / (1-Math.pow((1 + monthly), - numpay)));
    var total = payment * numpay;
    var interest = total - amount;

    var msg = "<table border='4' width='75%'>";
    msg += "<tr>";
    msg += "<td>Month</td>";
    msg += "<td>Principal Paid</td>";
    msg += "<td>Interest Paid</td>";
    msg += "<td>Loan Balance</td>";
    msg += "</tr>";

    newPrincipal=amount;
    var i = 1;
    while (i <= numpay) {
        newInterest=monthly*newPrincipal;
        reduction=payment-newInterest;
        newPrincipal=newPrincipal-reduction;

        msg += "<tr><td align='left' bgcolor='pink'>"+i+"</td> \
                <td align='left' bgcolor='pink'>"+fixVal(reduction,0,2,' ')+"</td> \
                <td align='left' bgcolor='pink'>"+fixVal(newInterest,0,2,' ')+"</td> \
                <td align='left' bgcolor='pink'>"+fixVal(newPrincipal,0,2,' ')+"</td></tr>";

        i++;
    }


    msg += "</table>";

    document.getElementById("results").innerHTML = msg;


}


</script>

<style type="text/css">

body {
    background: black;
    font-family: arial;
}

#contentwrap {
    width: 700px;
    margin: 40px auto 0px auto;
    background: #FFFFCC;
    text-align: center;
    border: 6px red solid;
    border-radius: 10px;
    padding: 40px;
}

table {
    border: 5px blue double;
    background-color: #FFFFCC;
}

#header {
    text-align: center;
    font-size: 2.5em;
    text-shadow: yellow 3px 3px;
    margin-bottom: 18px;
    color: red;
}

#button {
    background: blue;
    color: white;
    cursor: pointer;
    padding: 5px 0px 5px 0px;
    border: 1px solid red;
    border-radius: 25px;
    width: 150px;
}

.contentTitles {
    color: green;
    font-weight: bold;
}

.style {
    background: lightblue;
    font-family: comic sans ms;
    border: 6px blue double;
    color: green;
    font-weight: bold;
}

</style>

</head>

<body>

<div id="contentwrap">

<div id="header">Javascript Loan Calculator</div>

<form>

<div class="contentTitles">Enter Loan Amount<br />
<input type="text" id="loanAmt" class="style"><p />

Interest Rate (%)<br />
<input type="text" id="intRte" class="style"><p /> 

Monthly Payment Amount<br />
<input type="text" id="monthlyPay" class="style"><p />

<div style="margin-top:20px;">
<input type="button" value="Process Data" id="button" onClick="buildTable()">
</div>

</form>

<center>
<div id="results" style="margin-top:20px;"></div>
</center>


</div> <!-- ends div#contentwrap -->

</body>
</html>
M Oehm

입력이 월별 지불이되도록하려면 해당 변수를 호출하지 마십시오 numpay.

귀하의 경우에는 사전에 개월 수를 계산하지 않는 것이 더 실용적입니다. while 루프를 사용하여 테이블을 작성하고 동시에 대출 기간을 계산할 수 있습니다.

function buildTable() {

    var amount = parseFloat(document.getElementById("loanAmt").value );
    var monthly = parseInt(document.getElementById("monthlyPay").value );
    var rate = parseFloat(document.getElementById("intRte").value );

    rate = rate / 100 / 12;

    var m = 0;    // number of months

    while (amount > 0) {
        var interest = amount * rate;
        var principal = monthly - interest;

        if (principal > amount) {
            principal = amount;
            amount = 0.0;
        } else {
            amount -= principal;
        }

        // build table: m + 1, principal, interest, amount

        m++;
    }

    // display table
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트 while 루프는 무한 루프가되는 대신 증가를 기다립니다.

분류에서Dev

변경 계산기에 대한 자바 스크립트의 루프 도움말

분류에서Dev

자바 스크립트 계산기 함수가 호출되지 않는 문제

분류에서Dev

자바 스크립트 루프 계산

분류에서Dev

자바 스크립트가 제대로 계산되지 않음

분류에서Dev

자바 스크립트에서 작동하지 않는 ajax 호출이있는 while 루프

분류에서Dev

자바 스크립트 계산기의 피연산자가 예상대로 작동하지 않습니다.

분류에서Dev

자바 스크립트 기능에 대해-날씨 계산기-

분류에서Dev

자바 스크립트를 출력하고 foreach 루프에서 잠자기 또는 대기하는 방법

분류에서Dev

가격 계산 자바 스크립트

분류에서Dev

자바 스크립트 가격 계산기 문제

분류에서Dev

자바 스크립트와 계산을 사용하는 For 루프

분류에서Dev

자바 스크립트를 사용하는 VAT 계산기

분류에서Dev

각 for 루프 사이의 자바 스크립트 대기

분류에서Dev

while 루프 대신 자바 스크립트 맞춤 이벤트를 어떻게 사용할 수 있습니까?

분류에서Dev

JSF보기 호출 서버 측의 자바 스크립트 계산기

분류에서Dev

JSF보기 호출 서버 측의 자바 스크립트 계산기

분류에서Dev

변수 / while 루프 조건이있는 자바 스크립트의 문제

분류에서Dev

자바 스크립트 최대 호출 스택 크기가 함수 대괄호 제거로 인해 수정 됨

분류에서Dev

HTML / 자바 스크립트 계산기

분류에서Dev

For 루프를 사용한 자바 스크립트 계산

분류에서Dev

복잡한 계산이있는 비동기 콜백 자바 스크립트

분류에서Dev

이 자바 스크립트 계산기가 작동하지 않는 이유

분류에서Dev

자바 스크립트-이자 계산기는 출력으로 정의되지 않은 것을 계속 반환합니다.

분류에서Dev

자바 스크립트 기본값 / 대체 짧은 솔루션

분류에서Dev

"최대 호출 스택 크기 초과"를 유발하는 재귀 자바 스크립트 함수

분류에서Dev

자바 스크립트 동기 호출

분류에서Dev

자바 스크립트 : 대각선 배열 가져 오기

분류에서Dev

자바 스크립트-간단한 계산기가 실행되지 않음

Related 관련 기사

  1. 1

    자바 스크립트 while 루프는 무한 루프가되는 대신 증가를 기다립니다.

  2. 2

    변경 계산기에 대한 자바 스크립트의 루프 도움말

  3. 3

    자바 스크립트 계산기 함수가 호출되지 않는 문제

  4. 4

    자바 스크립트 루프 계산

  5. 5

    자바 스크립트가 제대로 계산되지 않음

  6. 6

    자바 스크립트에서 작동하지 않는 ajax 호출이있는 while 루프

  7. 7

    자바 스크립트 계산기의 피연산자가 예상대로 작동하지 않습니다.

  8. 8

    자바 스크립트 기능에 대해-날씨 계산기-

  9. 9

    자바 스크립트를 출력하고 foreach 루프에서 잠자기 또는 대기하는 방법

  10. 10

    가격 계산 자바 스크립트

  11. 11

    자바 스크립트 가격 계산기 문제

  12. 12

    자바 스크립트와 계산을 사용하는 For 루프

  13. 13

    자바 스크립트를 사용하는 VAT 계산기

  14. 14

    각 for 루프 사이의 자바 스크립트 대기

  15. 15

    while 루프 대신 자바 스크립트 맞춤 이벤트를 어떻게 사용할 수 있습니까?

  16. 16

    JSF보기 호출 서버 측의 자바 스크립트 계산기

  17. 17

    JSF보기 호출 서버 측의 자바 스크립트 계산기

  18. 18

    변수 / while 루프 조건이있는 자바 스크립트의 문제

  19. 19

    자바 스크립트 최대 호출 스택 크기가 함수 대괄호 제거로 인해 수정 됨

  20. 20

    HTML / 자바 스크립트 계산기

  21. 21

    For 루프를 사용한 자바 스크립트 계산

  22. 22

    복잡한 계산이있는 비동기 콜백 자바 스크립트

  23. 23

    이 자바 스크립트 계산기가 작동하지 않는 이유

  24. 24

    자바 스크립트-이자 계산기는 출력으로 정의되지 않은 것을 계속 반환합니다.

  25. 25

    자바 스크립트 기본값 / 대체 짧은 솔루션

  26. 26

    "최대 호출 스택 크기 초과"를 유발하는 재귀 자바 스크립트 함수

  27. 27

    자바 스크립트 동기 호출

  28. 28

    자바 스크립트 : 대각선 배열 가져 오기

  29. 29

    자바 스크립트-간단한 계산기가 실행되지 않음

뜨겁다태그

보관