【发布时间】:2015-08-03 15:33:24
【问题描述】:
我正在使用 Angularjs ui-grid 并使用默认设置,问题是如何将数字格式化为两位小数?
【问题讨论】:
标签: angularjs angularjs-directive number-formatting angular-ui-grid
我正在使用 Angularjs ui-grid 并使用默认设置,问题是如何将数字格式化为两位小数?
【问题讨论】:
标签: angularjs angularjs-directive number-formatting angular-ui-grid
您可以使用 columnDefs cellFilter 选项:
columnDefs: [
{
field: 'name',
cellFilter: 'number: 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)
【讨论】:
通过用户定义的过滤功能:
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);
}
};
});
【讨论】: