整型

整型 開放分類: 麵包、焙烤
整型
----------------------------------------------------------------------------------------------
整型:將第二次發酵成熟的麵團做成一定形狀的麵包坯的過程。
-----------------------------------------------------------------------------------------------------
一個 integer 是集合 Z = {..., -2, -1, 0, 1, 2, ...} 中的一個數。
參見任意長度整數 / GMP,浮點數 和 任意精度數學庫 / BCMath。
語法
整型值可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號(- 或者 +)。
如果用八進制符號,數字前必須加上 0(零),用十六進制符號數字前必須加上 0x。 例子 6-1. 整數文字表達
$a = 1234; # 十進制數
$a = -123; # 一個負數
$a = 0123; # 八進制數(等於十進制的 83)
$a = 0x1A; # 十六進制數(等於十進制的 26)
?>
在字面上, 整型變數正式的結構可以為:
decimal : [1-9][0-9]*
| 0
hexadecimal : 0[xX][0-9a-fA-F]+
octal : 0[0-7]+
integer : [+-]?decimal
| [+-]?hexadecimal
| [+-]?octal
?>
整型數的字長和平台有關,儘管通常最大值是大約二十億(32 位有符號)。PHP 不支持無符號整數。
整數溢出
如果你指定一個數超出了 integer 的範圍,將會被解釋為 float。同樣如果你執行的運算結果超出了 integer 範圍,也會返回 float。
$large_number = 2147483647;
var_dump($large_number);
// 輸出為:int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// 輸出為:float(2147483648)
// 同樣也適用於十六進制表示的整數:
var_dump( 0x80000000 );
// 輸出為:float(2147483648)
$million = 1000000;
$large_number = 50000 * $million;
var_dump($large_number);
// 輸出為:float(50000000000)
?>
PHP 中沒有整除的運算符。1/2 產生出浮點數 0.5。您可以總是捨棄小數部分,或者使用 round() 函式。
var_dump(25/7); // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7)); // float(4)
?>
轉換為整形
要明示地將一個值轉換為 integer,用 (int) 或 (integer) 強制轉換。不過大多數情況下都不需要強制轉換,因為當運算符,函式或流程控制需要一個 integer 參數時,值會自動轉換。您還可以通過函式 intval() 來將一個值轉換成整型。
參見類型戲法。
從布爾值轉換
FALSE 將產生出 0(零),TRUE 將產生出 1(壹)。
從浮點數轉換
當從浮點數轉換成整數時,數字將被取整(丟棄小數位)。
如果浮點數超出了整數範圍(通常為 +/- 2.15e+9 = 2^31),則結果不確定,因為沒有足夠的精度使浮點數給出一個確切的整數結果。在此情況下沒有警告,甚至沒有任何通知!
(譯者註:)在 Linux 下返回結果是最小負數(-2147483648),而在 Windows 下返回結果是零(0)。

相關詞條

相關搜尋

熱門詞條

聯絡我們