このブログを検索

2013/03/09

sprintfで%のエスケープ

ログ解析で以下のようにして 「15.2%」とかいう風に表示しようとした。

sprintf("%.1f%", $hoge / $sum * 100);


すると、意図通りに表示はされるのだが以下のメッセージがログに書かれた。

Invalid conversion in sprintf: end of string...


%をエスケープしないとダメか、と \%と書いたがダメで、

%%とするのだった。

sprintf("%.1f%%", $hoge / $sum * 100);