繁体   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