Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1

    calcolo tasso di interesse

    Ciao a tutti
    Ho trovato un codice in js che calcola il tasso di interesse composto di un mutuo conoscendo l'importo finanziato la durata e la rata.
    Il risultato è però difforme da quello che mi restituisce excel e altri siti online.
    l'esempio utilizzato è questo:
    Importo: 150000
    rata: 1006
    durata: 20 anni (240 mesi)
    rata mensile: 12
    il Risultato è 5,31% invece dovrebbe venire 5,20% (arrotondati)
    sapreste trovarmi l'errore??? grazie mille x l'aiuto

    vi allego il codice

    <script>
    //variabili globali
    rapporto = 0;
    nk = 0;

    //implementazione della funzione
    function f(x)
    {
    return (1-rapporto*x)*Math.pow(1+x,nk)-1;
    }

    //funzione di i/o con la pagina XHTML
    function calcoloTasso(mutuo,rata,anni,periodo)
    {
    m = parseFloat(mutuo);
    r = parseFloat(rata);
    n = parseInt(anni)
    k = parseInt(periodo);
    rapporto = m/r;
    nk = n*k;
    if (rapporto>=nk)
    {
    alert("dati incongruenti");
    return undefined;
    }
    ik = bisezione(0.00001,1); // algoritmo di bisezione
    ia = Math.pow(1+ik,k)-1; // calcolo del tasso annuo
    ia *=100; // sua espressione in percentuale
    return Math.round(ia*10000)/10000; //arrotondamento al decimillesimo
    }

    //implementazione ricorsiva dell'algoritmo di bisezione
    function bisezione(a,b)
    {
    fa = f(a);
    if (fa==0) return a;
    fb = f(b);
    if (fb==0) return b;
    m = (a+b)/2;
    fm = f(m);
    if (fm==0) return m;
    if ((b-a)<1e-8) return m;
    if (fa*fm<0)
    return bisezione(a,m)
    else
    return bisezione(m,b);
    }

    </script>

    <form action="form_action.asp" method="get" id="dati1" name="dati1"
    style="text-align:center">


    <label for="mutuo1">mutuo</label>
    <input type="text" name="mutuo1" id="mutuo1" size="10" value="100000"
    style="text-align:right"/>&euro;
    </p>


    <label for="rata">rata</label>
    <input type="text" name="rata1" id="rata1" size="12" value="1100"
    style="text-align:right"/>&euro;
    </p>



    <label for="periodo1">periodicità</label>
    <select id="periodo1" name="periodo1">
    <option value="12">mensile</option>
    <option value="6">bimestrale</option>
    <option value="4">trimestrale</option>
    <option value="3">quadrimestrale</option>
    <option value="2">semestrale</option>
    <option value="1">annuale</option>
    </select>
    </p>


    <label for="durata1">durata</label>
    <input type="text" name="durata1" id="durata1" size="3" value="10"
    style="text-align:right"/>anni
    </p>



    <input type="button" value=" calcolo del tasso "
    onclick="tasso1.value=calcoloTasso(mutuo1.value,ra ta1.value,durata1.value,periodo1.value)"/>



    <label for="tasso1">tasso</label>
    <input type="text" name="tasso1" id="tasso1" size="10" value=" "
    style="text-align:right"/>%
    </p>
    </p>
    </form>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova questo: http://www.pusceddu.it/htmlit/varie/mutuo.htm

    ps: il risultato e' dato in leggero eccesso
    Ultima modifica di br1; 27-11-2015 a 16:36
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.