[英]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.