我如何使用AngularJS过滤器将数字格式化为具有前导零?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (86)

我想要的是我的数字有四位数字和前导零。

22 to 0022
1  to 0001

有人可以帮助,并告诉我这是可能的数字或其他类型的过滤器?

提问于
用户回答回答于

假设你myModule在你的应用程序中调用了一个模块myApp

angular.module('myApp', ['myModule']);

在此模块中定义您的过滤器:

angular.module('myModule', [])
    .filter('numberFixedLen', function () {
        return function (n, len) {
            var num = parseInt(n, 10);
            len = parseInt(len, 10);
            if (isNaN(num) || isNaN(len)) {
                return n;
            }
            num = ''+num;
            while (num.length < len) {
                num = '0'+num;
            }
            return num;
        };
    });

在标记中使用你的过滤器:

{{myValue | numberFixedLen:4}}
用户回答回答于

不需要筛选器,只需在html中使用表达式即可。

{{("00000"+1).slice(-6)}}      // '000001'

{{("00000"+123456).slice(-6)}} // '123456'

扫码关注云+社区

领取腾讯云代金券