在AngularJS的ui-grid单元格中如何将数字格式化为保留两位小数?

10
我正在使用Angularjs的ui-grid,并使用默认设置。问题是如何将数字格式化为两位小数?
3个回答

27
你可以使用columnDefs的cellFilter选项:
columnDefs: [
  {
    field: 'name',
    cellFilter: 'number: 2'
  }
]

如何在ui-grid中显示0至0.00? - Varun
当我尝试将我的ui-grid导出为pdf时,数字仍然显示多个小数点。您知道有没有办法将我的uigrid导出为pdf,并且数据只显示两个小数位? - Adrew

0

通过用户定义的过滤函数:

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);
        }
      };
    });

-1

你正在寻找.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)

2
这个问题特别询问了如何在Angular ui-grid中格式化数字值,这需要一个自定义过滤器。虽然这个答案在一般的JavaScript使用上是技术上正确的,但它不是这个问题的合适答案。 - Jack Song

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接