金额x .25 x月+金额/月=结果。我试过但结果总是错的。
Amount: <input id="amount" type="text" />
Month: <input id="month" type="text" />
<input type="submit" onclick="output();">
<p id="result"> </p>
<script>
function output(){
var amount = parseInt(document.getElementById('amount').value);
var month = parseInt(document.getElementById('month').value);
document.getElementById('result').innerHTML = amount * .25 * month + amount/month;
}
</script>
答案 0 :(得分:0)
我怀疑你的问题是双重的。
1)操作顺序。使用括号指定应该如何计算事物。
document.getElementById('result').innerHTML = amount * .25 * month + (amount/month);
2)如果您的var amount意图是浮点数(例如:12.45),请改用parseFloat
。
var amount = parseFloat(document.getElementById('amount').value);
相关阅读材料
答案 1 :(得分:0)
您没有说明您认为结果出错的原因。但是,可能是 parseInt 的使用是截断浮点值。
表单控件的值始终是字符串,但是当在除添加之外的数学运算中使用时,它们会自动转换为数字,就像Number(value)
一样。由于对每个值执行的第一个操作是乘法或除法,因此您可以这样做:
function output(){
var amount = document.getElementById('amount').value;
var month = document.getElementById('month').value;
document.getElementById('result').innerHTML = (amount * .25 * month + amount/month).toFixed(2);
}
Amount: <input id="amount" type="text">
Month: <input id="month" type="text">
<input type="submit" onclick="output();">
<p id="result"></p>
但是,为了稳健性,首先验证输入值,然后显式转换为数字是个好主意。第一个可以使用简单的正则表达式完成,第二个使用一元+
。关于如何做到这两点,这里有很多好的答案。