在angularjs中删除限制为小数点的小数点

时间:2015-08-17 10:15:57

标签: angularjs angularjs-limitto

我从JSON文件中获取数据,我通过{{regular expression}}绑定到HTML页面。

我想只显示数字的前5个字符(包括点)。例如,如果数字是" 123.4567",我只想显示" 123.4",所以我申请{{ exp | limitTo: 5 }}。但是,如果数字是" 1234.567",则评估为" 1234",这是我不想要的;我只想要" 1234"。

我怎样才能做到这一点?

4 个答案:

答案 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>