我在网上搜索了很多,但我找不到任何可以帮助我的东西。 我这样做了:
montante <input type='text' id='A' onkeyup='calcola()' value='15000' /><br />
tasso <input type='text' id='i' onkeyup='calcola()' value='0.07' /><br />
anni <input type='text' id='n' onkeyup='calcola()' value='6' />
<script>
var A = document.getElementById('A').value;
var n = document.getElementById('n').value;
var float i = document.getElementById('i').value;
var R = A / ((1 - Math.pow((1 + i), -n)) / i);
document.write(R);
</script>
如果正常声明三个变量,这很有效,但如果从输入中获取值,则脚本不会给出正确的答案... 我认为问题出在函数Math.pow中,它不能识别&#34; i&#34; var作为输入中点的数字原因... 我需要这个输入,任何帮助吗? 提前致谢
答案 0 :(得分:1)
从html输入元素读取的值的类型将由javascript确定为String。
如果对类型为number的变量和String类型的变量使用+运算符,Javascript将执行字符串连接:
var a = "1";
var b = 2;
var c = a + b;
Var c将获得值:“12”
要防止出现这种情况,您必须先解析输入值。您可以使用Javascript parseFloat()函数执行此操作。