如何强制js将+附加到正数的前面?

时间:2014-09-09 16:51:34

标签: javascript angularjs

我有跟随角度过滤器

'use strict';

define(['angular'], function(angular) {

    function positiveFormatter() {
        return function (input) {
            if (input > 0) {
                return '+' + input;
            } else {
                return input;
            }
        };
    }

    angular.module('wfFilters').filter('positiveFormatter', positiveFormatter);
});

如果数字是正数,它应该在它前面添加+,但它不会。

如果我做到了

return '+ ' + input;

确实将+和空格放在前面。

如何强制它从正数中加入+?

修改

我猜它直接与+有关。如果我将+更改为 - 或任何字母,它将返回它应返回的内容。

如果我将其更改为

'use strict';

define(['angular'], function(angular) {

    function positiveFormatter() {
        return function (input) {
            if (input > 0) {
                return '+6';
            } else {
                return '-1';
            }
        };
    }

    angular.module('wfFilters').filter('positiveFormatter', positiveFormatter);
});

我仍然得到一个没有+的6但是会得到-1。

2 个答案:

答案 0 :(得分:0)

在所有可能性中input都是一个字符串。

尝试:

define(['angular'], function(angular) {

    function positiveFormatter() {
        return function (input) {
            input = +input;
            if (input > 0) {
                return '+' + input;
            } else {
                return input;
            }
        };
    }

    angular.module('wfFilters').filter('positiveFormatter', positiveFormatter);
});

答案 1 :(得分:0)

事实证明,它与js方法无关。调用它的html然后调用一个删除+。

的setDecimal js方法