如何使用Javascript将来自不同输入的值相乘以得到总数?
我正在尝试做一个购物车,我想总金额自动改变后,数量是输入(总价格乘以数量)。我正在尝试使用Javascript来实现这一点,但我似乎无法得到它,因为它将出现null,并且在它显示NaN之前 PS:这是一个控制台日志,目前只是为了看看它是否工作,但我需要它进入总输入标签 HTML: 试试这个:如何使用Javascript将来自不同输入的值相乘以得到总数?,javascript,function,shopping-cart,multiplication,Javascript,Function,Shopping Cart,Multiplication,我正在尝试做一个购物车,我想总金额自动改变后,数量是输入(总价格乘以数量)。我正在尝试使用Javascript来实现这一点,但我似乎无法得到它,因为它将出现null,并且在它显示NaN之前 PS:这是一个控制台日志,目前只是为了看看它是否工作,但我需要它进入总输入标签 HTML: 试试这个: 函数calcTotal(){ //删除$sign并解析浮动价格 var price=parseFloat(document.getElementById(“price”).value.substr(1))
函数calcTotal(){
//删除$sign并解析浮动价格
var price=parseFloat(document.getElementById(“price”).value.substr(1));
//解析浮点量
var quantity=parseFloat(document.getElementById(“数量”).value);
var总额=价格*数量;
//将计算值传递给id为total的输入
document.getElementById(“总计”).value=“$”+总计;
}
试试这个:
函数calcTotal(){
//删除$sign并解析浮动价格
var price=parseFloat(document.getElementById(“price”).value.substr(1));
//解析浮点量
var quantity=parseFloat(document.getElementById(“数量”).value);
var总额=价格*数量;
//将计算值传递给id为total的输入
document.getElementById(“总计”).value=“$”+总计;
}
任何涉及字符串的操作都会返回
NaN
,但是您应该
强制输入值为Number
function calcTotal() {
var price = document.getElementById("price").value;
var quantity = document.getElementById("quantity").value;
var total =Number(price) * Number(quantity);
console.log(total);
}
使用Number
vsparseFloat
所以只要你有标准的数字输入,就没有区别。但是,如果输入以数字开头,然后包含其他字符,则parseFloat会从字符串中截断数字,而number会给出NaN(不是数字):
任何涉及字符串的操作都会返回
NaN
,但是您应该
强制输入值为Number
function calcTotal() {
var price = document.getElementById("price").value;
var quantity = document.getElementById("quantity").value;
var total =Number(price) * Number(quantity);
console.log(total);
}
使用Number
vsparseFloat
所以只要你有标准的数字输入,就没有区别。但是,如果输入以数字开头,然后包含其他字符,则parseFloat会从字符串中截断数字,而number会给出NaN(不是数字):
您对“$18.95”*“1”有什么期望?您应该是数字相乘,而不是字符串相乘。您对“$18.95”*“1”
有什么期望?应该是数字相乘,而不是字符串相乘。
function calcTotal() {
var price = document.getElementById("price").value;
var quantity = document.getElementById("quantity").value;
var total =Number(price) * Number(quantity);
console.log(total);
}
parseFloat('1x'); // => 1
Number('1x'); // => NaN