使用http://www.maatwebsite.nl/laravel-excel/导出到CSV和Excel。
我有一个$rows
数组,其中包含列的所有行。
某些列的格式编号使用number_format(round((float)$number, 2 ), 2, '.', '');
此$number
是查询结果中的列。
如果我var_dump $rows
每个数字格式都很好。
当我这样做时
Excel::create($filename, function($excel) use ($rows) {
$excel->sheet('Sheet 1', function($sheet) use ($rows) {
$sheet->rows($rows);
});
})->export('csv');
它导出为CSV(如果我选择excel会发生同样的情况),有些列显示错误的数字,如82.70999999999999
而不是82.71
无法找到解决此问题的方法
答案 0 :(得分:0)
格式化列时,请尝试以下解决方案:
$number = 82.70999999999999;
$float_string = sprintf("%.2f", $number); // $float_string = "82.71";
这将取代您的number_format(round((float)$number, 2 ), 2, '.', '');
希望它有所帮助〜!