Javascript提供不正确的比较结果

时间:2013-09-26 16:44:14

标签: javascript

我简化了我遇到的问题:

例如,Chrome浏览器,按F12,然后在控制台中输入以下内容:

a=(0.005/10000).toExponential();
"5e-7"
  b=(0.04/10000).toExponential();
"4e-6"
  a<b
false
  a>b
true
  a.valueOf < b.valueOf
false
  a.valueOf() < b.valueOf()
false
  valueOf(a) < valueOf(b)
false

在这种情况下,&lt; b应该是真的。以上所有布尔值都不正确。怎么样?

1 个答案:

答案 0 :(得分:7)

From MDN

  

toExponential 以指数表示法返回表示Number对象的字符串

您正在比较字符串而不是数字。