2017-08-17 333 views
0

我想有兩個十進制值始終顯示數字。 我可以用兩個十進制值顯示值。如何保留兩位小數始終顯示的數字 - Angularjs

$scope.value1 = 10000; 
$scope.value2 = 12444.44443; 

在控制器I使用 $ scope.value1 = $ scope.value1.toFixed(2); $ scope.value2 = $ scope.value2.toFixed(2); 然後在HTML中,我可以顯示爲「10000.00」「12444.44」。但它也改變了我的模型價值。我不想改變價值。我只想爲「1000.00」「12444.44」顯示值。

即使我嘗試作爲

{{value1 | setDecimal : 2 }} 
{{value2 | setDecimal : 2 }} 

它顯示爲

10000 
12444.44 

這setDecimal變化只是我的十進制值。

我想顯示像setDecimal但需要顯示10000還爲10000.00

+6

'{{值1 | number:2}}'https://docs.angularjs.org/api/ng/filter/number。不知道你在哪看到「setDecimal」管道,但「數字」管道應該足夠了。 – briosheje

+0

@ Md.AtiqulIslam是的,它會:http://jsfiddle.net/ADukg/13963/ – briosheje

+0

此外,避免使用'toFixed'或任何除非它的嚴格要求:angularjs很重了,所以避免加重已經存在的東西。 '號碼管是爲了這樣一個範圍而發明的,所以就使用它。 – briosheje

回答

0
value.toFixed(2) 

應該給你所需要的

4

可以使用number過濾器的管道在您的模板來實現這一目標:

angular.module('app', []).controller('MyCtrl', ['$scope', function($scope) { 
 
    $scope.value1 = 10000; 
 
    $scope.value2 = 12444.44443; 
 
}]);
<div ng-app="app"> 
 
    <div ng-controller="MyCtrl"> 
 
    <p>{{ value1 | number: 2 }}</p>  
 
    <p>{{ value2 | number: 2 }}</p> 
 
    </div> 
 
</div> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

+1

前3分鐘@brioseje在評論 –

+1

回答應該張貼一個答案,而不是評論。 – yadejo

+1

@MaximShoustin沒關係。 Yadejo:請注意在這種情況下它是一個管道。另外,提供一個小提示讓答案更完整。 – briosheje

0

使用toFixed(2),用於固定它的方法在兩個

Demo

parseFloat(Math.round(num3 * 100)/100).toFixed(2); 
2

請參閱代碼輸出。我認爲這是Documents真正有用

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script> 
 

 
<div ng-app> {{12342 | number: 2}}</div>