ホームページ  >  記事  >  バックエンド開発  >  PHP sprintf 関数の使用法 PHP 浮動小数点数形式

PHP sprintf 関数の使用法 PHP 浮動小数点数形式

WBOY
WBOYオリジナル
2016-07-25 08:54:291264ブラウズ
  1. sprintf(" %9.3f", 3.1415926); // 右揃え: 桁数が足りない場合は、スペースを使用して完成させます。結果: "3.142"
  2. sprintf(" %-9.3f", 3.1415926); //左揃え: 桁数が足りない場合は、スペースを使用して完成させます。結果: "3.142 "
  3. sprintf(" %.3f", 3.1415926); //合計幅を指定しないでください。結果: "3.142"
コードをコピーします

注:

  1. $num = 100;
  2. sprintf("%.2f", $num );
  3. sprintf("%.2f", (double)$num);
上記のコード

をコピーします2 つの結果は本当に同じですか?見た目は同じですが、次のような理由が考えられます。 原因分析: パラメーターがスタックにプッシュされるとき、呼び出し元は、num に対応するフォーマット制御文字が「%f」であることを知りません。 関数が実行されるとき、関数自体はスタックにプッシュされたものが整数であることを認識していないため、整数 $num を格納する貧弱な 4 バイトが意図せず浮動小数点数形式として解釈されることになり、全体が浮動小数点数形式として解釈されます。めちゃくちゃです。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。