我从表中得到2个值,我想比较它们。如果一个比另一个更大,那么我会提醒一些错误。 事情是我得到了错误的结果...例如我有1000.00和1000000.00,当我做1000.00> 1000000.00我得到了一个真的!因此出错了,为什么会这样?
希望有人可以帮助我! THX
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");
}
其中一个值已经是我从db获取的一个浮点数,另一个值(TotalDist)是由用户设置的,所以我将它转换为float以便它们可以正确比较......但它似乎没有工作
答案 0 :(得分:3)
您需要将两个值都转换为数字(即在两个字符串上使用parseFloat
) - &gt;
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
... see the docs
var value = node.nodeValue;
value是字符串,包含当前节点的值