如何在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 : '';
}