簡體   English   中英

如何在javascript中計算點值?

[英]How to calculate point values in 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 result = first_number * second_number;
    tr.querySelector('[data-id="total"]').value = result ? result : '';
}

通過上面的代碼,如果我計算值 10.60*10 = 106,則只能計算舍入值(應顯示該值)。 但我得到了 100。

如何計算點值?

如果我計算值 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);

parseInt()僅解析沒有十進制值的整數值。

使用parseFloat()代替。

var first_number = parseFloat(tr.querySelector('[data-id="qty"]').value);
var second_number = parseFloat(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 : '';
}

使用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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM