1. 程式人生 > >PHP-字串轉整型-不使用內建函式

PHP-字串轉整型-不使用內建函式

輸入一個由數字組成的字串,轉換成整數輸出,如輸入‘123’,輸出123,不得使用庫函式。 思路: 在這裡插入圖片描述 -引用自 程式設計之法-面試和演算法心得- 下面我們利用 ascii 碼的方式去做轉換,因為每個字元都對應一個 ascii 碼,當對這個字元做加減乘除的時候,實際上就是對 ascii 碼做加減乘除操作,也就是整型操作,最終會返回一個整型數字。 在這裡插入圖片描述 -圖片轉自網路-

通過上圖可以看到字元 ‘0’ ~ ‘9’ 的 ascii 碼是 48~57 我們在轉換的時候就是用每一個字元減去 ‘0’ 例如: ‘1’ - ‘0’ = 1、‘2’ - ‘0’ = 2 返回值就是一個Int型別,下面具體看程式碼實現。

function
convertInt($strInt = ''){ //1.判斷是否輸入為空。2是否含有非數字的字元。3.如果第一個字串是‘-’,最終返回應為負整數。4.字串太長會導致轉換成整數,整數溢位。 if($strInt == ''){ return 0; //如果輸入為空字串,返回0 } $len = strlen($strInt); $int = 0; for($i=0;$i<$len;$i++){ $int *= 10; $num = $strInt{$i} - '0'; $int
+= $num; } return $int; } $num = '345432123'; var_dump(convertInt($num)); //輸出: int(345432123)