在 HTML 中添加数字变量
Add number variables in HTML
新网站,但已经使用了一段时间 - 帮助很大!
我正在尝试从输入中添加两个变量;示例 2 + 2 但我一直得到答案 22 而不是 4.
一旦我解决了这个问题,我将需要一个包含 5-6 个变量和几个答案的表单。
请您帮忙,我确信这是一个非常简单的答案(我正在学习编程)。
这是我的...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transititonal//EN"
""http://www.w3.org/TR/XHTML1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
<form name="profitcalc">
<table border="1" width="600" height="200" cellpadding="10" cellspacing="3">
<tr><th colspan="2">Profit Calculator</th></tr>
<td>
Dollar Rate <input type="number" name="xrate" id="input" onchange="calculate();"/>
<br>
Marketplace Fee <input type="number" name="marketfee" id="input" onchange="calculate();"/>
</td>
<td><input type="number" name="profit" id="output"></td>
<table>
</form>
<script type="text/javascript">
function calculate() {
var vxrate = document.profitcalc.xrate.value;
var vmarketfee = document.profitcalc.marketfee.value;
var vanswer = vxrate + vmarketfee;
document.profitcalc.profit.value = vanswer;
}
</script>
</body>
</html>
您从 <input>
字段读取的值是字符串,因此 Javascript 将它们连接起来,因此得到 22
结果。
在使用 parseFloat()
执行算术之前,您需要将它们强制为数值
<script type="text/javascript">
function calculate() {
var vxrate = parseFloat(document.profitcalc.xrate.value);
var vmarketfee = parseFloat(document.profitcalc.marketfee.value);
var vanswer = vxrate + vmarketfee;
document.profitcalc.profit.value = vanswer;
}
</script>
[编辑]
修改为使用 parseFloat()
而不是 parseInt()
,因为此代码看起来需要小数。
新网站,但已经使用了一段时间 - 帮助很大!
我正在尝试从输入中添加两个变量;示例 2 + 2 但我一直得到答案 22 而不是 4.
一旦我解决了这个问题,我将需要一个包含 5-6 个变量和几个答案的表单。
请您帮忙,我确信这是一个非常简单的答案(我正在学习编程)。
这是我的...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transititonal//EN"
""http://www.w3.org/TR/XHTML1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
<form name="profitcalc">
<table border="1" width="600" height="200" cellpadding="10" cellspacing="3">
<tr><th colspan="2">Profit Calculator</th></tr>
<td>
Dollar Rate <input type="number" name="xrate" id="input" onchange="calculate();"/>
<br>
Marketplace Fee <input type="number" name="marketfee" id="input" onchange="calculate();"/>
</td>
<td><input type="number" name="profit" id="output"></td>
<table>
</form>
<script type="text/javascript">
function calculate() {
var vxrate = document.profitcalc.xrate.value;
var vmarketfee = document.profitcalc.marketfee.value;
var vanswer = vxrate + vmarketfee;
document.profitcalc.profit.value = vanswer;
}
</script>
</body>
</html>
您从 <input>
字段读取的值是字符串,因此 Javascript 将它们连接起来,因此得到 22
结果。
在使用 parseFloat()
<script type="text/javascript">
function calculate() {
var vxrate = parseFloat(document.profitcalc.xrate.value);
var vmarketfee = parseFloat(document.profitcalc.marketfee.value);
var vanswer = vxrate + vmarketfee;
document.profitcalc.profit.value = vanswer;
}
</script>
[编辑]
修改为使用 parseFloat()
而不是 parseInt()
,因为此代码看起来需要小数。