将指数形式的数字强制转换为整数或浮点数

3
下面的代码:
echo (int) "2e2";
echo (int) 2e2;
echo (float) "2e2";

输出

2
200
200

我不知道为什么出现这种情况。谢谢。

1个回答

4

"2e2"是科学计数法,意思是2*102 == 200。

  1. 在您的第一个示例中,将字符串解析为int仅读取直到第一个非数字的数字(因此它会忽略e)。
  2. PHP解析器将2e2视为具有值200.0的浮点字面量,并在强制转换为int时返回200。
  3. 将字符串解析为float可以理解这种表示法,并给出期望的结果200。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接