sprintf は
文字列をフォーマットします。
構文: string sprintf(string format,mixed [args]...);
戻り値: String
関数の種類: データ処理
説明
この関数は、文字列をフォーマットするために使用されます。 format パラメーターは、パーセント記号 % で始まり変換文字で終わる変換形式です。変換された形式には、
1. 穴埋め文字が連続して含まれます。 0 の場合は、空白が 0 で埋められることを意味し、空白はデフォルト値となり、空白のままになることを意味します。
2. 位置合わせ。デフォルトは右揃えで、負号テーブルは左揃えです。
3. 列幅。は最小幅です。
4. 正確さ。小数点以下の浮動小数点数の桁数を指します。
タイプします。以下の表を参照してください
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
文字を変換する
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% はパーセント記号を変換せずに出力します。
b 整数をバイナリに変換します。
c 整数を対応する ASCII 文字に変換します。
d 整数を小数点以下の桁に変換します。
f 倍の精度の数値を浮動小数点数に変換します。
o 整数を 8 進数に変換します。
s は整数を文字列に変換します。
x 整数は小文字の 16 進数に変換されます。
X 整数を大文字の 16 進数に変換します。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-
例
=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
使用例
<?
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// このとき、変数$moneyの値は「123.1」です。
$formatted = sprintf ("%01.2f", $money);
// このとき、フォーマットされた変数$の値は「123.10」です
?>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-
この %01.2f は何を意味しますか?
まず、%記号は先頭を意味し、指定したフォーマットが開始されることを示します。 つまり「開始文字」、「変換文字」が現れるまでフォーマットは終了します。
% 記号の後に続くのは 0 です。このゼロは「空白埋め文字」です。その位置が空の場合は、0 を入力します。
0の次は1です。この1は小数点以下が1桁以上でなければならないという規定です。
1 を 2 に変更し、$money の値が 1.23 の場合、$formatted の値は 01.23 になります。
小数点以下の数値は 1 桁しかないため、上で指定した形式によれば、小数点以下の数値は 2 桁になるはずですが、現在は 1 桁しかないため、0 で埋めます。
ここまでは、%01 の後の .2 (ポイント 2) を理解すると、小数点以下の数値が 2 桁でなければならないことを意味します。このとき、$money の値が 1.234 である場合、$ の値になります。フォーマットすると1.23になります。
4 が欠落しているのはなぜですか? 上記の規則によれば、小数点以下は 2 桁のみである必要があり、また、2 桁しか含めることができないためです。 ただし、$money の値では小数点が 3 桁を占めるため、4 が削除され、23 だけが残ります。
最後にf「変換文字」で終わります。その他の変換文字については上記の変換文字一覧を参照してください。
整列については、
%開始記号の後に-(マイナス記号)を付けると右揃えで処理されます。
リエジ
<?
$money = 1.4;
$formatted = sprintf ("%-02.2f", $money);
$formatted をエコーします。
?>
この時点で、$formatted は 01.40 ではなく 1.400 になります。