Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 6 of 6
  1. #1
    New Coder
    Join Date
    Mar 2011
    Location
    Oudtshoorn South Africa
    Posts
    11
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Redusing decimal to only two figures.

    This script is for car loan payments. I need a R simbol only before the monthly payment and only two figures after the decimal point. Can somebody pse help me with this. Thank you in advance.
    Kees Meyer (keesmarcha)

    <script language="JavaScript">
    <!--
    function showpay() {
    if ((document.calc.loan.value == null || document.calc.loan.value.length == 0) ||
    (document.calc.months.value == null || document.calc.months.value.length == 0)
    ||
    (document.calc.rate.value == null || document.calc.rate.value.length == 0))
    { document.calc.pay.value = "Incomplete data";
    }
    else
    {
    var princ = document.calc.loan.value;
    var term = document.calc.months.value;
    var intr = document.calc.rate.value / 1200;
    document.calc.pay.value = princ * intr / (1 - (Math.pow(1/(1 + intr), term)));
    }

    // payment = principle * monthly interest/(1 - (1/(1+MonthlyInterest)*Months))

    }

    // -->
    </script>

    The results of this loan payment calculator are for comparison purposes only.
    They will be a close approximation of actual loan
    repayments if available at the terms entered, from a financial institution. This
    is being
    provided for you to plan your next loan application. To use, enter values
    for the
    Loan Amount, Number of Months for Loan, and the Interest Rate (e.g.
    7.25), and
    click the Calculate button. Clicking the Reset button will clear entered
    values.
    <p>
    <center>
    <form name=calc method=POST>
    <table width=60% border=0>
    <tr><th bgcolor="#aaaaaa" width=50%><font color=blue>Description</font></th>
    <th bgcolor="#aaaaaa" width=50%><font color=blue>Data Entry</font></th></tr>
    <tr><td bgcolor="#eeeee">Loan Amount</td><td bgcolor="#aaeeaa" align=right><input
    type=text name=loan
    size=10></td></tr>
    <tr><td bgcolor="#eeeee">Loan Length in Months</td><td bgcolor="#aaeeaa"
    align=right><input type=text
    name=months size=10></td></tr>
    <tr><td bgcolor="#eeeee">Interest Rate</td><td bgcolor="#aaeeaa" align=right><input
    type=text name=rate
    size=10></td></tr>
    <tr><td bgcolor="#eeeee">Monthly Payment</td><td bgcolor="#eeaaaa"
    align=right><em>Calculated</em> <input
    type=text name=pay size=10></td></tr>
    <tr><td bgcolor="#aaeeaa"align=center><input type=button onClick='showpay()'
    value=Calculate></td><td bgcolor="#eeeeaa" align=center><input type=reset
    value=Reset></td></tr>
    </table>
    </form>
    <font size=1>Enter only numeric values (no commas), using decimal points
    where needed.<br>
    Non-numeric values will cause errors.</font>
    </center>

    <p align="center"><font face="arial" size="-2">This free script provided by</font><br>
    <font face="arial, helvetica" size="-2"><a href="http://javascriptkit.com">JavaScript
    Kit</a></font></p>

  • #2
    Regular Coder
    Join Date
    Mar 2008
    Location
    London
    Posts
    152
    Thanks
    4
    Thanked 42 Times in 42 Posts
    change your code line -
    Code:
    document.calc.pay.value = princ * intr / (1 - (Math.pow(1/(1 + intr), term)));
    with
    Code:
    document.calc.pay.value = 'R ' + (princ * intr / (1 - (Math.pow(1/(1 + intr), term)))).toFixed(2);
    Thanks & Regards,
    Niral Soni

  • Users who have thanked niralsoni for this post:

    keesmarcha (09-17-2011)

  • #3
    Senior Coder jmrker's Avatar
    Join Date
    Aug 2006
    Location
    FL
    Posts
    3,091
    Thanks
    38
    Thanked 498 Times in 492 Posts

    Lightbulb

    The .toFixed(2) solution should work, but keep in mind that it rounds the answer.

    If you need a truncated answer, the solution would be:
    Code:
    var tempValue = princ * intr / (1 - (Math.pow(1/(1 + intr), term)));
    document.calc.pay.value = parseInt(tempValue * 100)/100;
    Could be condensed to one line, but this maybe easier to understand.

    Code is untested, but should be close.

  • #4
    New Coder
    Join Date
    Mar 2011
    Location
    Oudtshoorn South Africa
    Posts
    11
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Thank you very very much it work fine. Without you 99% of us is lost.
    Keesmarcha

  • #5
    New Coder
    Join Date
    Mar 2011
    Location
    Oudtshoorn South Africa
    Posts
    11
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Thank you very much for your quick response. We really need people with knowhow to assist us
    Kees

  • #6
    New to the CF scene
    Join Date
    Aug 2011
    Location
    India
    Posts
    7
    Thanks
    1
    Thanked 2 Times in 2 Posts
    The .toFixed(2) solution should work, but keep in mind that it rounds the answer. Thank you very much for your quick solution.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •