2 回答
TA贡献1847条经验 获得超11个赞
试试这个:
function calcTotal() {
// remove $ sign and parse Float price
var price = parseFloat(document.getElementById("price").value.substr(1));
// parse float quantity
var quantity = parseFloat(document.getElementById("quantity").value);
var total = price * quantity;
//pass calculated value to input with id total
document.getElementById("total").value = "$" + total;
}
<input id="price" type="text" readonly value="$18.95">
<input id="quantity" type="text" value="1" onchange="calcTotal()">
<input id="total" type="text" readonly value="">
TA贡献1883条经验 获得超3个赞
任何涉及字符串的操作都会返回 ,但是您应该强制输入值NaNNumber
function calcTotal() {
var price = document.getElementById("price").value;
var quantity = document.getElementById("quantity").value;
var total =Number(price) * Number(quantity);
console.log(total);
}
使用数字与解析浮动
因此,只要您有标准的数字输入,就没有区别。但是,如果您的输入以数字开头,然后包含其他字符,parseFloat 会将数字从字符串中截断,而数字则给出 NaN(不是数字):
parseFloat('1x'); // => 1
Number('1x'); // => NaN
添加回答
举报