2013-03-01 22 views
2

我正在讀取一個csv文件,並且我的代碼正在以字符串形式讀取數值。 但我需要整數值。將字符串類型的數值從字符串轉換爲整數而不更改其值

例如字符串'5782492380'作爲int '5782492380'

是否有任何最好的方式來改變從PHP的代碼中的字符串值類型的值?

我曾嘗試爲

(int) 5782492380 

但它改變了原有的價值2147483647

回答

3

嘗試用浮球,爲INT有你的價值下一個限制:

$v = (float) 5782492380; 

PHP: integers你可以找到註釋:

一個整數的大小是與平臺相關的,雖然最大約20億的價值是通常的價值(這是32位簽名)。 64位平臺的最大值通常約爲9E18

所以整數範圍的值是(-2147483648,2147483647)。

+0

感謝fedorqui但是我有它存儲到一個int字段在MySQL數據庫 – Dinesh 2013-03-01 13:13:31

+0

檢查當前頁[MySQL數據類型](http://kimbriggs.com/ computers/computer-notes/mysql-notes/mysql-data-types-50.file)我猜你可以在MySQL端使用'BIGINT'。 – fedorqui 2013-03-01 13:14:38

2

5782492380不適合整數類型。整數值應在-2147483648 .. 2147483647(含)範圍內。要存儲超出此範圍的值,可以使用浮點數或GMP numbers

+0

謝謝米哈伊爾,有沒有任何選項來保存在mysql數據庫中的值作爲INT類型 – Dinesh 2013-03-01 13:14:42

+0

@Dinesh當然!只需將表格列定義爲'BIGINT'而不是'INT'。有關詳細信息,請參閱以下鏈接:http://dev.mysql.com/doc/refman/5.6/en/integer-types.html – 2013-03-01 13:18:37

0
$v = intval($your_string) 

範圍是高達2

相關問題