1

我从一个 JSON 文件中获取数据,我通过 {{regular expression}} 将其绑定在 HTML 页面上。

我只想显示数字的前 5 个字符(包括点)。比如数字是“123.4567”,我想只显示“123.4”,所以申请{{ exp | limitTo: 5 }}。但是如果数字是“1234.567”,那么计算结果为“1234”,这是我不想要的;我只想要“1234”。

我怎样才能做到这一点?

4

4 回答 4

0

尝试:

{{exp|number:0}}

该数字正在过滤,小数点为 0。

于 2015-08-17T10:25:51.140 回答
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;
    };
});

上面的代码是自定义过滤器的一个例子

于 2015-08-18T05:18:35.123 回答
0

使用 Angular JS 提供的数字过滤器将解决您的问题,如果您需要更多验证并检查值,那么按照建议,您可以在 Angular JS 的 $filter 服务的帮助下创建自己的自定义过滤器。

于 2015-08-18T06:14:27.927 回答
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
于 2015-08-17T10:21:40.147 回答