我从JSON文件中获取数据,我通过{{regular expression}}绑定到HTML页面。
我想只显示数字的前5个字符(包括点)。例如,如果数字是" 123.4567",我只想显示" 123.4",所以我申请{{ exp | limitTo: 5 }}
。但是,如果数字是" 1234.567",则评估为" 1234",这是我不想要的;我只想要" 1234"。
我怎样才能做到这一点?
答案 0 :(得分:0)
创建自己的过滤器:
angular.filter('fiveDigits', function() {
return function(num) {
var str = ("" + parseFloat(num)).substring(0, 5);
var lastChar = str[str.length - 1];
return (lastChar === '.') ? str.substring(0, str.length - 1) : str;
};
});
并像其他任何一样使用它:
{{'1234.0' | fiveDigits}} // => 1234
{{'12345.0' | fiveDigits}} // => 12345
{{'123456.0' | fiveDigits}} // => 12345
答案 1 :(得分:0)
尝试:
{{exp|number:0}}
该数字是以0小数点过滤的。
答案 2 :(得分:0)
Angular允许您创建自己的自定义过滤器
<div ng-repeat="students as student">
<div class="student-name">{{student.name}}</div>
<div class="student-fee">{{student.fee|limitDigit }}</div>
</div>
angular.filter('limitDigit', function() {
return function(decimalNumber) {
var str = ("" + parseFloat(decimalNumber)).substring(0, 5);
return str;
};
});
以上代码是自定义过滤器的示例
答案 3 :(得分:0)
使用Angular JS提供的数字过滤器将解决您的问题,如果您需要更多验证并检查值,那么按照建议您可以借助Angular JS的$ filter服务创建自己的自定义过滤器。 / p>