javascript函数Math.pow从输入文本中获取十进制值

时间:2014-12-09 19:35:51

标签: javascript html input decimal

我在网上搜索了很多,但我找不到任何可以帮助我的东西。 我这样做了:

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作为输入中点的数字原因... 我需要这个输入,任何帮助吗? 提前致谢

1 个答案:

答案 0 :(得分:1)

从html输入元素读取的值的类型将由javascript确定为String。

如果对类型为number的变量和String类型的变量使用+运算符,Javascript将执行字符串连接:

var a = "1";
var b = 2;
var c = a + b;

Var c将获得值:“12”

要防止出现这种情况,您必须先解析输入值。您可以使用Javascript parseFloat()函数执行此操作。