小数点后的值不在输出时出现,如果为零

angular-ui-grid版本v3.0.0-rc.22-e8fe073

我正在使用我的自定义filter的angularjs货币filter。 请在下面findfilter定义:

 HelperServices.filter('customCurrencyFormat',function($filter){ return function(val, cond , decimalPlaces){ if(typeof decimalPlaces =='undefined' || decimalPlaces ==null ){ decimalPlaces = 2; } if(val == "0" && cond == "showZero"){ return ($filter('currency')(val, "", decimalPlaces)); }else if(val == 0 && cond == "hideZero"){ return null; }else{ if(val < 0){ return ($filter('currency')(val, "", decimalPlaces)).replace("(", "-").replace(")", ""); }else{ return ($filter('currency')(val, "", decimalPlaces)); } } } }); 

在网格定义filter中应用cellFilter: 'customCurrencyFormat:""' 。 筛选器在网格上正常工作。 它按照定义显示。

现在出口的定义如下:

 exporterFieldCallback: function(grid, row, col, input ) { if(col.name == 'nameofcolumn'){ return $filter('customCurrencyFormat')(input, '', 2); } } 

当我在MS Excel打开CSV文件时,单个数字值将不带小数点。 即使我检查filter实际上在控制台上返回。 并发现filter甚至返回带有小数点的单个数字值。

比如,值2应该以csv输出为2.00,并且应该显示为2.00。

为什么网格的值不能以csv格式输出小数点? 如何显示带有小数点的所有值,因为它是写在我的filter定义中的?