如何在javascript中计算点值?
我已经编写了计算整数值的代码如何在javascript中计算点值?,javascript,Javascript,我已经编写了计算整数值的代码 function add_number(inp) { var tr = inp.parentNode.parentNode; var first_number = parseInt(tr.querySelector('[data-id="qty"]').value); var second_number = parseInt(tr.querySelector('[data-id="amtper"]').value); var res
function add_number(inp) {
var tr = inp.parentNode.parentNode;
var first_number = parseInt(tr.querySelector('[data-id="qty"]').value);
var second_number = parseInt(tr.querySelector('[data-id="amtper"]').value);
var result = first_number * second_number;
tr.querySelector('[data-id="total"]').value = result ? result : '';
}
通过上面的代码,如果我计算值10.60*10=106,则U只能计算四舍五入值(应显示该值)。但是我得了100分
如何计算点值?parseInt()
只解析整数值,不解析十进制值
改用parseFloat()
var first_number = parseFloat(tr.querySelector('[data-id="qty"]').value);
var second_number = parseFloat(tr.querySelector('[data-id="amtper"]').value);
如果我计算值10.60*10=106,(该值应为
显示)。但是我得了100分
因为当您执行parseInt时,它返回一个不带任何十进制值的整数
使用parseFloat
替换
var first_number = parseInt(tr.querySelector('[data-id="qty"]').value);
var second_number = parseInt(tr.querySelector('[data-id="amtper"]').value);
与
parseInt将在乘法之前将10.60转换为10。您需要改用parseFloat。如果需要一个整数或小数点后有固定数字位数的数字,可以使用precision参数进行设置
function add_number(inp, precision) {
precision = typeof precision !== "number"? 0: precision;
var tr = inp.parentNode.parentNode;
var first_number = parseFloat(tr.querySelector('[data-id="qty"]').value);
var second_number = parseFloat(tr.querySelector('[data-id="amtper"]').value);
var result = (first_number * second_number).toFixed(precision);
tr.querySelector('[data-id="total"]').value = result ? result : '';
}
使用?见此:
函数添加编号(inp){
var tr=inp.parentNode.parentNode;
var first_number=parseFloat(tr.querySelector('[data id=“qty”]').value);
var second_number=parseFloat(tr.querySelector('[data id=“amtper”]').value);
var结果=第一个\u编号*第二个\u编号;
tr.querySelector('[data id=“total”]')。值=结果?结果:“”;
}
添加_编号(document.getElementById(“inp”)代码>
数量:
AMTPER:
总计,由JS填写:
如何使用?
function add_number(inp, precision) {
precision = typeof precision !== "number"? 0: precision;
var tr = inp.parentNode.parentNode;
var first_number = parseFloat(tr.querySelector('[data-id="qty"]').value);
var second_number = parseFloat(tr.querySelector('[data-id="amtper"]').value);
var result = (first_number * second_number).toFixed(precision);
tr.querySelector('[data-id="total"]').value = result ? result : '';
}