我根本无法绕过这个:
2590.00 > 2.00 //== true
"2590.00" > "2.00" //== true
105.00 > 2.00 //== true
"105.00" > "2.00" //== false???
为什么最后一个表达式返回false
?
答案 0 :(得分:2)
"105.00" > "2.00"
正在比较字符串而不是数字。
答案 1 :(得分:1)
比较两个字符串时,“2.00”将大于“105.00”,因为(按字母顺序)105.00小于2.00。
将字符串与数字常量进行比较时,JavaScript会处理 在进行比较时将数字作为字符串。结果如此 通常与数字比较不同。 为确保正确的结果,应将变量转换为正确的结果 比较前输入:
使用parseInt将字符串解析为整数:
javascript:alert(parseInt("105.00")>parseInt("2.00"));
答案 2 :(得分:0)
"105.00" > "2.00"
正在比较字符串"105.00"
和"2.00"
以及从'1' < '2'
开始,它会返回false
答案 3 :(得分:-1)
我认为这是因为JS比较了字符串(“1”&lt;“2”等)的符号而不是数字。