2

PHPマニュアルに記載されていない場合でも、フォーマット文字列に長さ指定子を含めることには利点がありますか?sprintfprintf

  • h-引数は、shortintまたはunsignedshort intとして解釈されます(整数指定子:、、、、、およびにのみ適用さidますo)。uxX
  • li-引数は、整数指定子(、、、、、、および)のd場合oはlongintまたはunsignedlong intとして解釈され、指定子および。の場合はワイド文字またはワイド文字列として解釈されます。uxXcs
  • L-引数はlongdoubleとして解釈されます(浮動小数点指定子:、、、、およびにのみ適用eされEます)。fgG

それとも、それを省いたほうがいいですか?私が理解しようとしているのは、phpがそれを除外することにした理由だと思います。

phpriot.comからの次のコードについて考えてみます。

$a = 0.5;
$b = 0.1;
$c = 16;

echo sprintf('%01.2lf %.1lf 0x%x', $a, $b, $c); # 0.50 0.1 0x10
4

2 に答える 2

4

必要ありません。PHPには、短いint、int、長いintなどはありません。.だけがありintsます。

于 2012-06-26T17:00:22.850 に答える
4

PHPでは、整数浮動小数点数を除いて、数値の違いはありません。システムアーキテクチャ(32ビットまたは64ビット)に応じて、整数型はintまたはint64です。文字列とBCMathを使用してより大きな数を模倣できますが、それらは常に文字列に格納されます。

したがって、PHPでは、数値の型を変更するための長さ指定子を持つ目的はありません。フロートかそうでないかのどちらかです。

于 2012-06-26T17:01:58.950 に答える