我尝试了(int) "4209531264"
和intval("4209531264")
但遗憾的是,我得到的只是2147483647
(我意识到这是因为32位体系结构或一些php依赖性或其他原因(。
我提出了"4209531264" + 0
,它返回了正确的结果,但看到它工作起来令人惊讶,因为它超出了maxint。
但真正的问题是:这是将字符串转换为long的"正确方法"吗?
编辑:
(float)
即
谢谢你的评论!大开眼界!
只要您对最终得到的值不是很挑剔,"number" + 0
可能是转换输入的最佳方式,因为它可以转换为"自然"数字数据类型。
如果输入没有小数部分并且适合(请参见PHP_INT_MAX
(,则结果将是一个整数;如果没有,则结果为浮点。