私が読んでいる単純なExcel(2003 .xls)ファイルがあります。Codeplex の PHP Excel を使用していますが、一部のセルにはカスタム フォーマット type があり# ##0,00%
ます。ファイルを読んでいるとき、常に失敗した値を取得しています(110.2f%)
今、私はこのケースを解決しました:
$workSheet->getStyle('G'.$line)->getNumberFormat()->setFormatCode(PHPExcel_Cell_DataType::TYPE_STRING);
$turnover_str = $workSheet->getCell('G'.$line);
ブラウザでの出力:-0.22878905524141
しかし、私はこのフォーマットが必要です:-22,87
この関数を使用して変換します:
function conv_to_percent($str){
$str = (int)$str * 100;
$str = number_format($str, 2, ',', '');
return $str;}
$str
値が-0.22878905524141
次の場合、ブラウザーのすべての結果が 100 の例として出力されます。
しかし、私はこの関数用にクリーンな PHP を作成し、正常に動作しています (私はこの関数しか持っていません):
print conv_to_percent("-0.22878905524141"); //output: -22,88
試し(int), floatval($str)
ましたが、問題は同じです。
私は何を間違っていますか?