0

我从一个表中得到 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)是由用户设置的,所以我将其转换为浮点数以便可以正确比较它们......但它似乎没有工作

4

1 回答 1

3

您需要将两个值都转换为数字(即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");

}

使用nodeValuea时string返回...请参阅文档

var value = node.nodeValue;

value 是一个字符串,包含当前节点的值

于 2012-07-02T08:55:57.600 回答