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



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

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 中,它无法将"i"变量识别为输入中点的数字原因......我需要这个与输入一起工作,有什么帮助吗?提前致谢

从 html 输入元素中读取的值的类型将由 javascript 确定为字符串。

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

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

Var c 将得到值:"12">

若要防止此行为,必须先分析输入的值。你可以通过使用 Javascript parseFloat(( 函数来做到这一点。

最新更新