Javascript minFractionDigits&;angularjs1上的maxFractionDigits
如何在angularjs1上使用Javascript minFractionDigits&;angularjs1上的maxFractionDigits,javascript,angularjs,Javascript,Angularjs,如何在angularjs1上使用minFractionDigits和maxFractionDigits过滤数字 Angular2的十进制管道过滤器为 数字|数字[:digitInfo] 将数字格式化为文本。组大小和分隔符以及其他 特定于区域设置的配置基于活动区域设置 其中,表达式是一个数字: digitInfo是一个具有以下格式的字符串: {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits} minIntegerDigits是要使
minFractionDigits
和maxFractionDigits
过滤数字
Angular2的十进制管道过滤器为
数字|数字[:digitInfo]
将数字格式化为文本。组大小和分隔符以及其他
特定于区域设置的配置基于活动区域设置
其中,表达式
是一个数字:
是一个具有以下格式的字符串: {digitInfo
}.{minIntegerDigits
}-{minFractionDigits
}maxFractionDigits
是要使用的最小整数位数。 默认值为1李>minIntegerDigits
是之后的最小位数 分数。默认值为0minFractionDigits
是小数后的最大位数。默认值为3maxFractionDigits
我如何才能做到这一点?我使用@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>