簡體   English   中英

比較數字-異常行為

[英]Comparing numbers - Unusual behaviour

我從一個表中獲得2個值,我想比較它們。 如果一個比另一個更好,那么我會警告一些錯誤。 問題是我得到了錯誤的結果...例如,我有1000.00和1000000.00,當我執行1000.00> 1000000.00我得到TRUE !,因此出現錯誤,為什么會這樣?

希望有人可以在這里幫助我! 謝謝

row = document.getElementById(tabla).rows;
cell = document.getElementById(tabla).rows[0].cells;

for (i=2;i<row.length-1;i++){
    var TotalDist = parseFloat(document.getElementById(tabla).rows[i].cells[cell.length].firstChild.nodeValue).toFixed(2);
    var Total = document.getElementById(tabla).rows[i].cells[cell.length+1].firstChild.nodeValue;

    if(TotalDist>Total)
       alert("Error");
}

其中一個值已經是我從數據庫中獲取的浮點數,另一個值(TotalDist)是由用戶設置的,因此我將其轉換為浮點數,以便可以對其進行正確比較...但是它似乎不起作用

您需要將兩個值都轉換為數字(即在兩個字符串上都使用parseFloat )->

row = document.getElementById(tabla).rows;
cell = document.getElementById(tabla).rows[0].cells;

for (i=2;i<row.length-1;i++){
    var TotalDist = parseFloat(document.getElementById(tabla).rows[i].cells[cell.length].firstChild.nodeValue).toFixed(2);
    var Total = parseFloat(document.getElementById(tabla).rows[i].cells[cell.length+1].firstChild.nodeValue);

    if(TotalDist>Total)
       alert("Error");

}

使用nodeValue返回一個string ... 請參閱文檔

var value = node.nodeValue;

value是一個字符串,其中包含當前節點的值

暫無
暫無

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

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