PHPExcel-如何取整值?

问题描述 投票:2回答:5

我是否可以知道要使用什么函数将列值四舍五入为带有百分号的小数点后两位?例如: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

php windows phpexcel
5个回答
3
投票

如果只希望将其输出为字符串:

echo '%'.number_format($your_number,2);

如果要保留为数字浮点值(但要折中百分比):

echo round($your_number,2);

如果您正在寻找Excel函数,请使用:

$worksheet_details->setCellValue('D14', '=TEXT(F33/F34,"0.00%")');

2
投票

我想您正在寻找ROUND()功能:

ROUND()

或您的情况:

=ROUND(10/3; 2)

1
投票

如果要四舍五入,请使用$worksheet_details->setCellValue("D14", "=ROUND(SUM((F33 / F34)); 2)"); 来指定所需的浮点数精度:

round()

如果要在Excel中四舍五入,则可以使用echo round(1.95583, 2) . "%"; // 1.96%

ROUND function

$worksheet_details->setCellValue("D14", "=TEXT(SUM((F33 / F34)), '###.##%')");

如果数字已经是百分比。

希望有帮助。


0
投票

如果要以百分比数字格式显示,可以尝试此操作。

$worksheet_details->setCellValue("D14", "=TEXT(SUM((F33 / F34)/100), '###.##%')");

//输出95.6%并在Excel中格式化为数字


0
投票

正如@ariefbayu所说,

$percentVal = '95.6';

PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );


$percentCell->setValue($percentVal . '%');
$sheet->getStyleByColumnAndRow($percentCellIndex, $dataRow)->getNumberFormat()->setFormatCode('0.0%');

应该可以,但是对我来说,它引发了错误:

$worksheet_details->setCellValue("D14", "=ROUND(SUM((F33 / F34)); 2)");

所以我将PHP Fatal error: Uncaught PHPExcel_Calculation_Exception 更改为;

结果:

,
© www.soinside.com 2019 - 2024. All rights reserved.