【问题标题】:How to format a number value in AngularJS ui-grid cell to two decimal?如何将AngularJS ui-grid单元格中的数值格式化为两位小数?
【发布时间】:2015-08-03 15:33:24
【问题描述】:

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

【问题讨论】:

    标签: angularjs angularjs-directive number-formatting angular-ui-grid


    【解决方案1】:

    您可以使用 columnDefs cellFilter 选项:

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

    【讨论】:

    • 如何在ui-grid中显示0到0.00?
    • 当我尝试将我的 ui-grid 导出为 pdf 时,数字仍然显示多个小数点。你知道我可以将我的 uigrid 导出为 pdf 的方法吗?数据只显示两位小数?
    【解决方案2】:

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

    【讨论】:

    • 具体问的问题,如何在Angular ui-grid中格式化数值,需要自定义过滤器。虽然这个答案在技术上对于一般的 JavaScript 用法是正确的,但它不是这个问题的合适答案。
    【解决方案3】:

    通过用户定义的过滤功能:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多