integer
は、Z = {..., -2, -1, 0, 1, 2, ...}という集合 です。
整数(integer)は、10進数(基底10)、16進数(基底16)、8進数(基底8)表記
で指定可能です。オプションで、符号(-または+)を前に付けることが可 能です。
8進数表記を使用する場合、数の前に
0
(ゼロ)を付 ける必要があります。また、16進数表記を使用するには、数の前に
0x
を付ける必要があります。
integer
型の範囲外の数を指定した場合、かわりに
float
として解釈されます。また、結果が
integer
型の範囲外の数となるような計算を行うと
float
が代わりに返されます。
$large_number = 2147483647; var_dump($large_number); // 出力: int(2147483647) $large_number = 2147483648; var_dump($large_number); // 出力: float(2147483648) // 指定した16進表現整数も出力 var_dump( 0x80000000 ); // 出力: float(2147483648) $million = 1000000; $large_number = 50000 * $million; var_dump($large_number); // 出力: float(50000000000) |
警告 |
|
PHPには整数の割り算はありません。
1/2
は float型の0.5になります。
integer
に値を明示的に変換するには、キャスト
(int)
または
(integer)
のど ちらかを使用して下さい。しかし、多くの場合、演算子、関数、制御構 造が
integer
引数を必要とする場合、値は自動的に変換さ れるため、キャストを使用する必要はありません。
型の相互変換
を参照下さい。
FALSE
は、
0
(ゼロ)となり、
TRUE
は、
1
となります。
floatから整数に変換する場合、その数はゼロの方に丸められます。
floatが整数の範囲(通常は
+/- 2.15e+9 = 2^31
)を越える場合、結果は undefined となります。これは、
そのfloatが正しい整数の結果を得るために十分な精度を得られなかっ
たからです。この場合、警告も通知も発生しません!
警告 |
|
文字列変換
を参照下さい。
注意 |
|