这个javascript程序是某个书课后习题,自己纯手工打造,可是就是算不出结果来!
原题:根据公式R=[P*I*(1+I)^N]/[(1+I)^N-1]用网页界面计算月供,P为总贷款额300000元,I为月息(按年息5%算),N为30X12月,结果月供是...
原题:根据公式R=[P*I*(1+I)^N]/[(1+I)^N-1]用网页界面计算月供,P为总贷款额300000元,I为月息(按年息5%算),N为30X12月,结果月供是1610.4649元,可是我的程序怎么也不执行,仅仅能看到文本框,求解释,谢谢
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function jisuan(){
double dbp=document.forms[0].elements[0].value;
double dbn=document.forms[0].elements[1].value*12;
double dbi=document.forms[0].elements[2].value;
double dbpow=Math.pow((1+dbi),dbn);
double dbr=dbp*dbi*dbpow/(dbpow-1);
document.forms[0].elements[3].value="";
document.write(dbr);
}
function chongzhi(){
document.forms[0].elements[0].value="";
document.forms[0].elements[1].value="";
document.forms[0].elements[2].value="";
document.forms[0].elements[3].value="";
}
-->
</script>
</head>
<body>
<form action="151.html" method="post" name="frm">
<table align="center">
<tr><td colspan="2"><input type="text" value="输入贷款总额"></td></tr>
<tr><td colspan="2"><input type="text" value="输入还款年限"></td></tr>
<tr><td colspan="2"><input type="text" value="输入贷款利息"></td></tr>
<tr><td colspan="2"><input type="text" value="月供"></td></tr>
<tr>
<td><input type="button" value="确定" onclick="jisuan();"></td>
<td><input type="button" value="重置" onclick="chongzhi();"></td>
</tr>
</table>
</form>
</body>
</html> 展开
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function jisuan(){
double dbp=document.forms[0].elements[0].value;
double dbn=document.forms[0].elements[1].value*12;
double dbi=document.forms[0].elements[2].value;
double dbpow=Math.pow((1+dbi),dbn);
double dbr=dbp*dbi*dbpow/(dbpow-1);
document.forms[0].elements[3].value="";
document.write(dbr);
}
function chongzhi(){
document.forms[0].elements[0].value="";
document.forms[0].elements[1].value="";
document.forms[0].elements[2].value="";
document.forms[0].elements[3].value="";
}
-->
</script>
</head>
<body>
<form action="151.html" method="post" name="frm">
<table align="center">
<tr><td colspan="2"><input type="text" value="输入贷款总额"></td></tr>
<tr><td colspan="2"><input type="text" value="输入还款年限"></td></tr>
<tr><td colspan="2"><input type="text" value="输入贷款利息"></td></tr>
<tr><td colspan="2"><input type="text" value="月供"></td></tr>
<tr>
<td><input type="button" value="确定" onclick="jisuan();"></td>
<td><input type="button" value="重置" onclick="chongzhi();"></td>
</tr>
</table>
</form>
</body>
</html> 展开
4个回答
展开全部
你好。 你的代码一共有三个问题。
1、变量类型,javascript是弱类型语言,其中所有变量类型都为var。因此需要将double改为var;
2、通常从文本框获得的数字,都是字符串类型的,在使用减法乘法除法时会自动转换成整型,但使用加法时会默认当作字符串与前后的值连接,所以需要转换类型,否则1 + 0.5得到的数为10.5不是1.5。javascript中没有parseDouble()方法,用parseFloat()即可转型。
3、<!-- -->是HTML注释,虽然这样写不会有什么影响,但还是建议写成//<![data[ ... //]]-->
以下是更改后的方法jisuan()
function jisuan(){
var dbp = document.forms[0].elements[0].value;
var dbn = document.forms[0].elements[1].value * 12;
var dbi = document.forms[0].elements[2].value;
var dbpow = Math.pow((1 + parseFloat(dbi)), dbn);
var dbr = dbp * dbi * dbpow / (dbpow - 1);
document.forms[0].elements[3].value = dbr;
}
展开全部
function jisuan(){
var dbp=document.forms[0].elements[0].value;
var dbn=document.forms[0].elements[1].value*12;
var dbi=document.forms[0].elements[2].value;
var dbpow=Math.pow((1+dbi),dbn);
vardbr=dbp*dbi*dbpow/(dbpow-1);
document.forms[0].elements[3].value="";
document.write(dbr);
}
js变量是松散型的 统一用var定义 具体类型 要看保存的具体是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥,你怎么可以加<!---->这个东西,加了就注释掉了,当然什么都不执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两点错,第一:js没有double类型,
第二:你的js代码用<!-- -->包起来的,记得好像包起来也是可以的,但不知为何我这边调试出错,你可以试试不去掉,,,下面是我调试的代码 ,,,可正常运行
<html><head>
<script language="javascript" type="text/javascript">
function jiasuan(){
var dbp=document.forms[0].elements[0].value;
var dbn=document.forms[0].elements[1].value*12;
var dbi=document.forms[0].elements[2].value;
var dbpow=Math.pow((1+dbi),dbn);var dbr=dbp*dbi*dbpow/(dbpow-1);
document.forms[0].elements[3].value="";
document.write(dbr);
}
function chongzhi(){
document.forms[0].elements[0].value="";
document.forms[0].elements[1].value="";
document.forms[0].elements[2].value="";
document.forms[0].elements[3].value="";
}
</script>
</head><body>
<form action="151.html" method="post" name="frm">
<table align="center"><tr><td colspan="2">
<input type="text" value="输入贷款总额"></td></tr>
<tr><td colspan="2"><input type="text" value="输入还款年限"></td>
</tr><tr><td colspan="2"><input type="text" value="输入贷款利息"></td>
</tr><tr><td colspan="2"><input type="text" value="月供"></td></tr><tr><td>
<input type="button" value="确定" onclick="jiasuan();">
</td><td><input type="button" value="重置" onclick="chongzhi();">
</td></tr></table></form></body></html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询