ホームページ > バックエンド開発 > PHPチュートリアル > PHP の sprintf 関数を使用して浮動小数点数を制御する format_PHP チュートリアル

PHP の sprintf 関数を使用して浮動小数点数を制御する format_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:25:00
オリジナル
1209 人が閲覧しました

浮動小数点数の出力形式の制御

浮動小数点数の出力と形式の制御は、sprintf の一般的に使用される関数であり、浮動小数点数は書式文字 "%f" と小数点以下 6 桁を使用して制御されます。ポイントはデフォルトで保持されます。例:

コードをコピーします コードは次のとおりです:

sprintf("%f", 3.1415926) //結果: "3.141593"

ただし、印刷される幅と小数点以下の桁数を自分で制御したい場合があります。この場合、「%m.nf」形式を使用する必要があります。ここで、m は印刷される数値の全体の幅を表し、n は印刷される数値の桁数を表します。小数点以下の数字。例:

コードをコピーします コードは次のとおりです:

sprintf(" %9.3f", 3.1415926); // 右揃え: 桁数が足りない場合は、スペースを使用して完成させます。結果: " 3.142"
sprintf(" %-9.3f", 3.1415926); //左揃え: 桁数が足りない場合は、スペースを使用して完成させます。結果: "3.142 "
sprintf(" %.3f", 3.1415926); // 合計幅を指定しない場合、結果: "3.142"

問題に注意してください

コードをコピーしてください コードは次のとおりです:

$num = 100;
sprintf("%.2f", $num );
sprintf("%.2f", (double)$num );

上記の 2 つの結果は本当に同じですか?見た目は同じですが、次の理由がわかりやすいかもしれません。パラメータがスタックにプッシュされるとき、呼び出し元は num に対応するフォーマット制御文字が "%f" であることを認識しません。関数が実行されるとき、関数自体はスタックにプッシュされたものが整数であることを認識していないため、整数 $num を格納する貧弱な 4 バイトが強制的に浮動小数点数形式として解釈され、全体がめちゃくちゃになります。 。

http://www.bkjia.com/PHPjc/825261.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825261.html技術記事浮動小数点数の出力形式の制御 浮動小数点数の出力と形式の制御は、sprintf の一般的な関数です。デフォルトでは、小数点以下 6 桁が保持されます。 、次のような:...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート