在angularjs中只显示十进制后的两位数用于输入?

时间:2016-05-09 12:47:43

标签: angularjs angularjs-directive angularjs-scope

我是Angular的新人。 任何人都可以告诉我,我怎样才能做到这一点。

$scope.var1 = 125.548765;
$scope.var2 = 125.54

我想用var1计算值,但我想在屏幕上显示与var2相同的值。 如果我使用ng-model,那么它反映了两侧。所以告诉我怎么能这样做。 我想在angular datatable中使用这个值。

2 个答案:

答案 0 :(得分:3)

在您的模板中,您可以像这样使用它:

{{ var1 | number:2 }}

您也可以在Javascript中使用此过滤器:

$filter('number')($scope.var1, 2);

这是AngularJs中的基本过滤器。您可以在此处找到更多信息:https://docs.angularjs.org/api/ng/filter/number

答案 1 :(得分:1)

创建自定义指令并返回与我想要的相同的值。

app.directive('myModel', function(){
    return{
        restrict: 'A',
        require: 'ngModel',
        link: function(scope, element, attrs, ngModelController){
            ngModelController.$formatters.push(function(value){
                return Math.round(value*100)/100;
            })
        }
    }
});

example here for custom directive