我编写了代码来计算整数值等值。
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,(应该显示该值)。但是我得到了100分。
如何计算点值?
答案 0 :(得分:1)
如果我计算值10.60 * 10 = 106,(该值应为 显示)。但我得到100
因为当你执行parseInt时,它会返回一个没有任何小数值的Intger。
改为使用parseFloat
,替换
var first_number = parseInt(tr.querySelector('[data-id="qty"]').value);
var second_number = parseInt(tr.querySelector('[data-id="amtper"]').value);
与
var first_number = parseFloat(tr.querySelector('[data-id="qty"]').value);
var second_number = parseFloat(tr.querySelector('[data-id="amtper"]').value);
答案 1 :(得分:0)
parseInt()
仅解析没有小数值的整数值。
改为使用parseFloat()
。
var first_number = parseFloat(tr.querySelector('[data-id="qty"]').value);
var second_number = parseFloat(tr.querySelector('[data-id="amtper"]').value);
答案 2 :(得分:0)
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 : '';
}
答案 3 :(得分:0)
使用parseFloat
?见:
function add_number(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 result = first_number * second_number;
tr.querySelector('[data-id="total"]').value = result ? result : '';
}
add_number(document.getElementById("inp"));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
QTY: <input data-id="qty" value="100"><br>
AMTPER: <input data-id="amtper" value="1.06">
<div>
<div id="inp"></div>
</div>
<hr>
Total, filled by JS:
<input data-id="total">
</div>
&#13;