我是否知道使用百分比符号将列值四舍五入为2位小数时要使用的函数是什么?例如:1.88%而不是1.88230293
$ worksheet_details-> setCellValue(“D14”,“= SUM((F33 / F34))”);
如何对单元格D14中的值进行舍入?
解决方案:
顺便说一句,在我继续寻找互联网上的解决方案后,我得到了这个......
$percentageFormat = '#.## \%;[Red]-#.## \%';
$worksheet_details->setCellValue("C14", "=SUM((C33 / C34) * 100)");
$worksheet_details->getStyle('C14')->getNumberFormat()->setFormatCode($percentageFormat);
如果你希望它以0.xx格式显示,只需将第一个#更改为0 ......否则它只会显示.xx
答案 0 :(得分:3)
如果您只想将其输出为字符串:
echo '%'.number_format($your_number,2);
如果您想将其保留为数值浮动值(但在百分比上有所妥协):
echo round($your_number,2);
如果您正在寻找Excel功能,请使用:
$worksheet_details->setCellValue('D14', '=TEXT(F33/F34,"0.00%")');
答案 1 :(得分:2)
我猜您正在寻找ROUND()
功能:
=ROUND(10/3; 2)
或者,在您的情况下:
$worksheet_details->setCellValue("D14", "=ROUND(SUM((F33 / F34)); 2)");
答案 2 :(得分:1)
如果你想在PHP中使用round()进行舍入,可以指定你想要一个浮点数的精度:
echo round(1.95583, 2) . "%"; // 1.96%
如果您想在Excel中进行舍入,则可以使用ROUND function:
$worksheet_details->setCellValue("D14", "=TEXT(SUM((F33 / F34)), '###.##%')");
或
$worksheet_details->setCellValue("D14", "=TEXT(SUM((F33 / F34)/100), '###.##%')");
如果数字已经是百分比。
希望它有所帮助。
答案 3 :(得分:0)
如果您想以百分比数字格式显示,可以试试这个。
$percentVal = '95.6';
PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
$percentCell->setValue($percentVal . '%');
$sheet->getStyleByColumnAndRow($percentCellIndex, $dataRow)->getNumberFormat()->setFormatCode('0.0%');
//输出95.6%并在Excel中格式化为数字
答案 4 :(得分:0)
正如@ariefbayu所说,
$worksheet_details->setCellValue("D14", "=ROUND(SUM((F33 / F34)); 2)");
应该可以,但是对我来说它抛出了错误:
PHP Fatal error: Uncaught PHPExcel_Calculation_Exception
所以我将;
更改为,
。
结果:
$worksheet_details->setCellValue("D14", "=ROUND(SUM((F33 / F34)), 2)");
答案 5 :(得分:0)
您可以将单元格的格式设置为自动将值四舍五入为整数。
$activeSheet->getStyle("A1")->getNumberFormat()->setFormatCode('##');