将$ filter应用于3位数的负数后,不到比较不起作用

时间:2015-09-29 10:37:14

标签: javascript angularjs

一旦$ filter使用3位或更多位负数,则小于比较运算符不能正常工作。

var num = -1500;
num = $filter('number')(num, 0);
if (num <= 15) {
      console.log("working");
}

对于低于-999.5的所有负数都可以找到

但有趣的是,当条件为

时,这会有效
 if (num <= $filter('number')(15, 0))

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

数字过滤器的返回值为:

Number rounded to decimal Places and places a “,” after each third digit.

参考:https://docs.angularjs.org/api/ng/filter/number

因此,此,会在您的if条件

中产生问题

以下是解决方案,

var num = -1500;
num = $filter('number')(num, 0);
if (num.replace(",", "") <= 15) {
    console.log("working");
}

但我不认为这是正确的做法。