En este ejemplo vamos a implementar una calculadora financiera que nos va a calcular los pagos de un crédito en función del tipo de interes, plazo de amortización, etc. En este ejemplo emplearemos diversas funciones del paquete Math, asi como un Array.
Código JavaScript
function Valida(c) { if (isNaN(c.value/2)) { alert("El valor " + c.name + " debe ser numerico"); c.focus(); c.select(); } } function Calcula(Cantidad, Tipo, Anos, Pagos) { if (Anos==0) { alert("El período de amortización debe ser mayor que 0, expresado en años"); return; } var AAnos=new Array(Anos/2, Anos, Anos*1.5); var Total_Pagos = new Array(AAnos[0]*Pagos,AAnos[1]*Pagos,AAnos[2]*Pagos); var temp, i, longitud; var C_Pagos = new Array(0,0,0); if (Tipo!=0) { for (i=0;i<AAnos.length;i++) { temp=Math.pow(Tipo/(100.00*Pagos) + 1,Total_Pagos[i]); C_Pagos[i]=(Tipo*Cantidad)/(100.00*Pagos*(1-1/temp)); } } else { for (i=0;i<AAnos.length;i++) C_Pagos[i]=(Cantidad)/(Total_Pagos[i]); } with (window.resultados.document) { write("<div style=\"background-color: " + window.document.bgColor + "; margin: 0px;\"><br><hr><TABLE HEIGHT=\"100\" ALIGN=\"center\" BORDER=\"2\" CELLPADDING=\"3\">"); write("<tr><td><b>Cantidad Solicitada</b></td><td align=\"center\"><b>" + Cantidad + "</b></td></tr>" + "<tr><td><b>Tipo de Interes</b></td><td align=\"center\"><b>" + Tipo + "%</b></td></tr>" + "<tr><td><b>Pagos Anuales</b></td><td align=\"center\"><b>" + Pagos + "</b></td></tr></table>"); write("<TABLE HEIGHT=\"160\" ALIGN=\"center\" BORDER=\"2\" CELLPADDING=\"3\"><tr><td><b>Años</b></td>") for (i=0;i<AAnos.length;i++) write("<td align=\"center\"><b>" + AAnos[i] + "</b></td>"); write("</tr><tr><td><b>Cuotas Totales</b></td>"); for (i=0;i<AAnos.length;i++) write("<td align=\"center\">" + Total_Pagos[i] + "</td>"); write("</tr><tr><td><b>Cuotas de</b></td>"); for (i=0;i<AAnos.length;i++) write("<td align=\"right\">" + (Math.round(C_Pagos[i])) + "</td>"); write("</tr><tr><td><b>Total a Pagar</b></td>"); for (i=0;i<AAnos.length;i++) write("<td align=\"right\">" + (Math.round(C_Pagos[i]*Total_Pagos[i])) + "</td>"); write("</tr><tr><td><b>Intereses a Pagar</b></td>"); for (i=0;i<AAnos.length;i++) write("<td align=\"right\">" + (Math.round(C_Pagos[i]*Total_Pagos[i])-Cantidad) + "</td>"); write("</tr></table><br></div>"); } window.resultados.scrollBy(0,600); }
Código JavaScript
<table align=center width="80%" cols=2 border=0> <tr height="380"><td> <FORM NAME="Calculo"> <TABLE BORDER="0" CELLPADDING="3" cols=2> <TR> <TD><B>Cantidad :</B></TD> <TD><INPUT TYPE="text" NAME="Cantidad" tabindex="1" VALUE="1000000" SIZE="10" ONFOCUS="select()" onBlur="Valida(window.document.Calculo.Cantidad);"></TD></TR> <TR> <TD><B>Interés Nominal :</B></TD> <TD><INPUT TYPE="text" NAME="Interes" tabindex="2" VALUE="5.0" MAXLENGTH=4 SIZE="4" ONFOCUS="select()" onBlur="Valida(window.document.Calculo.Interes);"><b>%</b></TD></TR> <TR> <TD><B>Años :</B></TD> <TD><INPUT TYPE="text" NAME="Anos" tabindex="3" VALUE="10" MAXLENGTH=2 SIZE="2" ONFOCUS="select()" onBlur="Valida(window.document.Calculo.Anos);"></TD></TR> <TR> <TD><B>Pagos Anuales :</B></TD> <TD><INPUT TYPE="text" NAME="Pagos" tabindex="4" VALUE="12" MAXLENGTH=2 SIZE="2" ONFOCUS="select()" onBlur="Valida(window.document.Calculo.Pagos);"></TD></TR> </TABLE> <p align="center"><INPUT TYPE="button" tabindex="5" VALUE="Calcular" NAME="Calcular" class="boton" ONCLICK="Calcula(this.form.Cantidad.value, this.form.Interes.value, this.form.Anos.value, this.form.Pagos.value)"></p> </FORM></td> <td width=400> <table width="100%" height="100%" cols=1> <tr height=60><td><h1 align=center>Resultados</h1></td></tr> <tr><td> <iframe name="resultados" width="100%" MARGINWIDTH=0 height="100%" MARGINHEIGHT=0 scrolling=no frameborder=0>Tu navegador no soporta iframes.> </iframe> </td></tr></table> </td></tr></table>