javascript - angularjs1 上的 minFractionDigits 和 maxFractionDigits

标签 javascript angularjs

如何在 angularjs1 上使用 minFractionDigitsmaxFractionDigits 过滤数字?

Angular2 的十进制管道过滤器为 described here .

number_expression | number[:digitInfo]

Formats a number as text. Group sizing and separator and other locale-specific configurations are based on the active locale.

where expression is a number:

  • digitInfo is a string which has a following format: {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
  • minIntegerDigits is the minimum number of integer digits to use. Defaults to 1.
  • minFractionDigits is the minimum number of digits after fraction. Defaults to 0.
  • maxFractionDigits is the maximum number of digits after fraction. Defaults to 3.

我想在 angularjs1 上做这个。 我该怎么做?

最佳答案

我根据@Claies 的建议创建了一个自定义过滤器,如下所示。

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:

<div>{{value |numberMinMaxFractionSize:0:2}}</div>

关于javascript - angularjs1 上的 minFractionDigits 和 maxFractionDigits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46536291/

相关文章:

javascript - 图表显示不正确

javascript - 动态 ng-include 令人头疼

javascript - 避免 "$digest already in progress"错误

angularjs - 如何在 AngularJS 中创建下拉过滤器结果

javascript - 如何在Angular JS中获取url参数

javascript - 如何获取当前加载脚本的src?

javascript - 从图 block 服务器返回的 map 不完整,缩放级别可用的图 block 数量比文档指示的要多

javascript - 服务器逐渐失去与 MongoDB 的连接,直到根本无法连接

javascript - 将其设置为 null 并在一行中获取可变数据

regex - fs.writefile 仅在 Node js 中的最后一个函数中执行