web-dev-qa-db-fra.com

Comment formater une valeur numérique en cellule de grille ui AngularJS en deux décimales?

J'utilise Angularjs ui-grid et en utilisant les paramètres par défaut, la question est de savoir comment formater les nombres en deux décimales.

enter image description here

8
Tony

Vous pouvez utiliser l'option columnDefs cellFilter:

columnDefs: [
  {
    field: 'name',
    cellFilter: 'number: 2'
  }
]
22
jme11

Vous recherchez .toFixed(2).

Use cases:
var numObj = 12345.6789;

numObj.toFixed();       // Returns '12346': note rounding, no fractional part
numObj.toFixed(1);      // Returns '12345.7': note rounding
numObj.toFixed(6);      // Returns '12345.678900': note added zeros
(1.23e+20).toFixed(2);  // Returns '123000000000000000000.00'
(1.23e-10).toFixed(2);  // Returns '0.00'
2.34.toFixed(1);        // Returns '2.3'
-2.34.toFixed(1);       // Returns -2.3 (due to operator precedence, negative number literals don't return a string...)
(-2.34).toFixed(1);     // Returns '-2.3' (...unless you use parentheses)
0
Patrick Motard

Via la fonction de filtrage définie par l'utilisateur: 

http://fiddle.jshell.net/r8yj2jgw/2/

 cellFilter:'formatNumber:2'

.

app.filter('formatNumber', function() {  
      return function(input, decimalPlaces) {          
       if(isNaN(input))
            return input;
         else {
          return input.toFixed(decimalPlaces);
        }
      };
    });
0
Razan Paul