在$filter应用于3位数的负数之后,小于比较不起作用

Less than comparison not working after $filter is applied to 3 digit negative numbers

本文关键字:之后 小于 不起作用 比较 filter 应用于 3位      更新时间:2023-09-26

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

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

对于-999.5以下的所有负数

但有趣的是,当condition为 时,它会起作用
 if (num <= $filter('number')(15, 0))

你知道为什么会这样吗?

数字过滤器的返回值为:

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");
}

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