混淆javascript中的数字比较

时间:2012-05-29 06:54:34

标签: javascript comparison

代码很简单:

    var i = 0.5;
    if (i < 0) {
        console.log('small');
    } else {
        console.log('big');                    
    }

但结果是big!,我的代码出了什么问题?

3 个答案:

答案 0 :(得分:2)

if语句的else部分评估i >= 0。并0.5 >= 0

也许你想写:

if (i >= 0 and i < 1) {
    console.log('small');
}

但我不知道你会认为什么小; - )

答案 1 :(得分:2)

您的代码没有任何问题,让我们深入了解您的'if'条件,您将获得 0.5&gt;的答案。 0

你可能想写这个

 var i = 0.5;
        if (i > 0) {
            console.log('big');
        } else {
            console.log('small');                    
        }

答案 2 :(得分:2)

你的代码逻辑是完全正确的......

0.5 is greater than 0