一旦$ filter使用3位或更多位负数,则小于比较运算符不能正常工作。
var num = -1500;
num = $filter('number')(num, 0);
if (num <= 15) {
console.log("working");
}
对于低于-999.5的所有负数都可以找到
但有趣的是,当条件为
时,这会有效 if (num <= $filter('number')(15, 0))
知道为什么会这样吗?
答案 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");
}
但我不认为这是正确的做法。