我有2个输入框值“”bill_amount“,值为1250,”xray“,值为0
当我试图找到它返回12500的总和但是当我试图找到减去的值时它返回1250。为什么添加它concat 0而减法不包括0。
如何避免这种情况?
console.log( document.getElementById("bill_amount").value-document.getElementById("xray").value);
答案 0 :(得分:0)
您需要使用parseFloat()
解析您的值:
function calculate() {
console.log(parseFloat(document.getElementById("bill_amount").value) - parseFloat(document.getElementById("xray").value));
}

<input type='text' id='bill_amount' />
<input type='text' id='xray' />
<button onclick="calculate()">Calculate</button>
&#13;
答案 1 :(得分:0)
- 将字符串转换为数字:
"1250" - "0" => 1250
+ 没有:
"1250" + "0" => "12500"
所以可以先转换:
+"1250" +" 0" => 1250
答案 2 :(得分:0)
您需要将数值解析为数字:
var billAmount = document.getElementById("bill_amount");
var xray = document.getElementById("xray");
var calculate = document.getElementById("calculate");
calculate.onclick = function() {
console.log(parseFloat(billAmount.value, 10) - parseFloat(xray.value, 10));
}
&#13;
<input id="bill_amount" type="number" min="0" value="1250" step="0.0001"/>
<input id="xray" type="number" min="0" value="0" step="0.0001"/>
<input id="calculate" type="button" value="calculate" />
&#13;
答案 3 :(得分:0)
console.log(eval( document.getElementById("bill_amount").value-document.getElementById("xray").value));
试试这个