Perlだと出来るらしいのですが、PHPではダメみたいです。
見積書なんかだと、千円単位で小数点以下一位まで表示、さらに桁区切りもしたりします。 そういうときは、number_format関数を使います。
ところが小数点はまだいいのですが、桁区切りが入ると数字ではなく文字列になってしまうので、そのあと計算が出来なくなってしまうんですよね。
なので、最終的に表示する段階でnumber_format関数を使いたいのですが、ヒアドキュメントの中だとNGなので困っていたのです。
しかし! 世の中にはエライ人がいるもので、クラスにしちゃえばOKなのだとか。
クラスが何かよく分かっていませんが、さっそくやってみました。
// 桁区切りと小数点揃え
class NumberFormat {
public function enc($output, $point=0){
return number_format($output, $point);
}
}
これで、ヒアドキュメントの中で、
$NF = new NumberFormat();
$HTML <<< EOD
{$NF->enc($A,1)}
EOD;
なんて書くと、$Aが桁区切り&小数点以下一位で表示されます。 素晴らしい!
ちなみにこのクラスはいろんなファイルで使うので、MySQLに接続するために require_once で読み込んでいるPHPファイルに入れておきました。