2013-03-01 23 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

相关问题