如何在angularjs1上使用minFractionDigits
和maxFractionDigits
过滤数字?
Angular2的小数管道过滤器为described here。
number_expression | number[:digitInfo]
将数字格式化为文本。集团选型和分离器等 特定于语言环境的配置基于活动的区域设置。
其中
expression
是一个数字:
digitInfo
是一个字符串,格式如下: {minIntegerDigits
} {minFractionDigits
} - {maxFractionDigits
}minIntegerDigits
是要使用的最小整数位数。 默认为1.minFractionDigits
是之后的最小位数 分数。默认为0。maxFractionDigits
是分数后的最大位数。默认为3。
我想在angularjs1上这样做。 我怎么能这样做?
答案 0 :(得分:1)
我已经使用@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>