【发布时间】:2016-03-11 10:39:53
【问题描述】:
PHP 中是否有将字符串转换为 int 的函数,但要认真对待“int”。
转换为 int 或 intval 都试图变得聪明并执行其他数学运算,例如舍入。
我有一个解决方案——使用 int cast,然后将 int 转换回字符串。
如果结果相同,则OK,但如果不是,则表示字符串代表其他东西(例如float)。
"2.2" --> 2 --> "2" --> fail
"3" --> 3 --> "3" --> OK
但我想知道是否有一些东西可以在 PHP 中使用?
【问题讨论】:
-
你的意思是:
$number == (string)(int)$number? -
@Rizier123,是的(使用
===),首先检查$number中是否有int。 -
顺便说一句:php 不会试图通过对 2.2 应用任何舍入来变得聪明;它只是停在点上,因为它不是数字,因此不是整数的一部分。
-
@greenoldman 您的问题令人困惑,没有准确解释您的需求。我从来没有见过这么快在一个线程中删除这么多答案。
-
问题的标题有点误导。当您 转换 字符串时,intval() 和 (int) 都“认真对待“int”。似乎您想测试字符串是否仅包含有效的整数表示形式而没有其他内容。
标签: php type-conversion