Javascript minFractionDigits&;angularjs1上的maxFractionDigits

Javascript minFractionDigits&;angularjs1上的maxFractionDigits,javascript,angularjs,Javascript,Angularjs,如何在angularjs1上使用minFractionDigits和maxFractionDigits过滤数字 Angular2的十进制管道过滤器为 数字|数字[:digitInfo] 将数字格式化为文本。组大小和分隔符以及其他 特定于区域设置的配置基于活动区域设置 其中,表达式是一个数字: digitInfo是一个具有以下格式的字符串: {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits} minIntegerDigits是要使

如何在angularjs1上使用
minFractionDigits
maxFractionDigits
过滤数字

Angular2的十进制管道过滤器为

数字|数字[:digitInfo]

将数字格式化为文本。组大小和分隔符以及其他 特定于区域设置的配置基于活动区域设置

其中,
表达式
是一个数字:

  • digitInfo
    是一个具有以下格式的字符串: {
    minIntegerDigits
    }.{
    minFractionDigits
    }-{
    maxFractionDigits
    }
  • minIntegerDigits
    是要使用的最小整数位数。 默认值为1
  • minFractionDigits
    是之后的最小位数 分数。默认值为0
  • maxFractionDigits
    是小数后的最大位数。默认值为3
我想在angularjs1上这样做。
我如何才能做到这一点?

我使用@Claies advice创建了一个自定义过滤器,如下所示

angular.module('MyApp', []).filter('numberMinMaxFractionSize',function () {
    return function (num, min, max) {
        if (typeof num === "number") {
            var options = {
                minimumFractionDigits: min,
                maximumFractionDigits: max,
            }
            return new Intl.NumberFormat(findLocale(), options).format(num);
        } else {
            return num;
        }
    };
});

function findLocale() {
    try {
        return (navigator.browserLanguage || navigator.language || navigator.userLanguage)
    } catch (e) {
        return "en-US";
    }
}
html:

{{value}numberMinMaxFractionSize:0:2}

AngularJs最接近的是
number
过滤器的
fractionSize
参数,除非您编写自己的自定义过滤器。我知道
fractionSize
参数。我想将
minFractionSize
maxFractionSize
设置为
0-2
这些不是AngularJs内置的选项。您必须编写自己的自定义过滤器来处理逻辑。Angular2在其管道内部使用
Intl.NumberFormat
<div>{{value |numberMinMaxFractionSize:0:2}}</div>