questa è la pagina che mi stà facendo diventare scemo!
funzia...però ho due problemi...
se qualche anima pia mi da un aiutino mi eviterà la crisi nervosa!
![]()
1)la "finta nuova pagina caricata dal giava che visualizza il piano d'ammortamento non è formattata come la prima...cioè ha diverso colore di sfondo e diverso carattere...e come si formatta?!?!?!?!![]()
2)è possibile che il risultato della "rata", essendo un dato in euro venga approssimato a due decimali?
GRAZIE amicici![]()
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.0 [en] (WinNT; I) [Netscape]">
<TITLE>Piano di Ammortamento</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- hide this script tag's contents from old browsers
function checkNumber(input, min, max, msg) {
msg = msg + " dato non valido per il campo: " + input.value;
var str = input.value;
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i + 1)
if ((ch < "0" || "9" < ch) && ch != '.') {
alert(msg);
return false;
}
}
var num = parseFloat(str)
if (num < min || max < num) {
alert(msg + " non contenuto tra [" + min + ".." + max + "]");
return false;
}
input.value = str;
return true;
}
function computeField(input) {
/*
if (input.value != null && input.value.length != 0) {
input.value == "" + eval(input.value);
}
*/
computeForm(input.form);
}
function computeForm(form) {
if ((form.Nanni.value == null || form.Nanni.value.length == 0) ||
(form.tasso.value == null || form.tasso.value.length == 0) ||
(form.period.value == null || form.period.value.length == 0) ||
(form.Prestito.value == null || form.Prestito.value.length == 0)) {
return;
}
if (!checkNumber(form.Nanni, 1, 30, "Num anni") ||
!checkNumber(form.tasso, .001, 99, "Tasso di Interesse") ||
!checkNumber(form.period, 1, 12, "Rate per anno") ||
!checkNumber(form.Prestito, 1000, 1000000, "Importo del Prestito")) {
form.rata.value = "Invalid";
return;
}
var i = form.tasso.value;
if (i > 1.0) {
i = i / 100.0;
form.tasso.value = i;
}
/* i = form.tasso.value; */
var P = form.Prestito.value;
var Y = form.Nanni.value;
var N = form.period.value;
with (Math) {
/* calcolo secondo la formula del libro nero */
var p1 = (i/N)+1
var p2 = N*Y
form.rata.value = ( i * P / N ) / ( 1 - 1 / pow( p1 , p2 ) );
/* calcolo secondo ibc.wustl.edu mensile
form.rata.value = P * ( (i/12) / (1 - pow( (1+(i/12)) , -(12*Y))))
*/
}
}
function comPiano(form) {
computeForm(form)
var rata = document.forms[0].rata.value
var P = document.forms[0].Prestito.value
var tasso = document.forms[0].tasso.value
var period = document.forms[0].period.value
var Nanni = document.forms[0].Nanni.value
var IC = 0
var DR = P
var imax = period * Nanni
document.write("<CENTER>")
document.write("<H2>Calcolo del Piano di Ammortamento di un Prestito</H2>")
document.write("<H3>Euro " + P+ " al tasso " + tasso * 100 + "% ; in " + imax +" Rate</H3>")
document.write("[I]")
/* document.write("<FORM>") */
document.write("<TABLE border>")
document.write("<TR>")
document.write("<TD><DIV ALIGN=CENTER>Rata= " + Math.round(rata) + "</DIV></TD>")
document.write("</TR>")
document.write("<TR>")
document.write("<TD><DIV ALIGN=CENTER>Rata
Numero</DIV></TD>")
document.write("<TD><DIV ALIGN=CENTER>Quota
Capitale</DIV></TD>")
document.write("<TD><DIV ALIGN=CENTER>Quota
Interessi</DIV></TD>")
document.write("<TD><DIV ALIGN=CENTER>Debito
Residuo</DIV>")
document.write("<TD><DIV ALIGN=CENTER>Interessi
Cumulati</DIV></TD>")
document.write("</TR>")
for (var i = 1; i <= imax ; i++) {
var qi = DR * tasso / period
var qc = rata - qi
var IC = qi + IC
var DR = DR - qc
document.write("<TR>")
document.write("<TD><DIV ALIGN=CENTER>" + i + " </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(qc) + " </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(qi) + " </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(DR) +" </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(IC) + " </DIV> </TD>")
}
document.write("</TR>")
document.write("</TABLE>")
/* document.write("</FORM>") */
}
function clearForm(form)
{
form.period.value = "2";
form.Nanni.value = "15";
form.tasso.value = "13";
form.Prestito.value = "60000000";
}
</SCRIPT>
</HEAD>
<BODY Bgcolor="#ffffec"><font face="trebuchet ms" size=2>
<center><FONT face="trebuchet ms" size=4>Calcolo del Piano di Ammortamento di un Prestito</font>
<CENTER><FORM method=POST></CENTER>
<CENTER><TABLE BORDER >
<TR>
<TD>
<CENTER>Durata</CENTER>
<CENTER>Prestito</CENTER>
<CENTER>in Anni</CENTER>
</TD>
<TD>
<CENTER>Tasso di</CENTER>
<CENTER>Interesse</CENTER>
<CENTER>Annuo</CENTER>
</TD>
<TD>
<CENTER>Importo del</CENTER>
<CENTER>Prestito</CENTER>
</TD>
<TD>
<CENTER>Rate</CENTER>
<CENTER>per</CENTER>
<CENTER>Anno</CENTER>
</TD>
<TD></TD>
<TD><INPUT TYPE="button" VALUE="Calcola Rata" onClick=computeForm(this.form)>
<INPUT TYPE="reset" VALUE="Azzera" onClick=clearForm(this.form)>
<center><INPUT TYPE=TEXT NAME=rata SIZE=9 onChange=computeField(this)></center>
</TD>
</TR>
<TR>
<TD><center><INPUT TYPE=TEXT NAME=Nanni SIZE=2 onChange=computeField(this)></center></TD>
<TD><center><INPUT TYPE=TEXT NAME=tasso SIZE=7 onChange=computeField(this)></center></TD>
<TD><center><INPUT TYPE=TEXT NAME=Prestito SIZE=9 onChange=computeField(this)></center></TD>
<TD><center><INPUT TYPE=TEXT NAME=period SIZE=2 onChange=computeField(this)></center></TD>
</tr><tr>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE></CENTER>
<CENTER><INPUT TYPE="button" VALUE=" Visualizza il Piano di Ammortamento " onClick=comPiano(this.form)></FORM>
</font>