以下代码:
echo (int) "2e2";
echo (int) 2e2;
echo (float) "2e2";
输出2
200
200
. .我也不知道为什么。谢谢。
"2e2"为科学记数法,表示2*102 == 200。
- 在您的第一个示例中,将字符串解析为int仅读取到第一个非数字的数字(因此它忽略了
e
)。 - PHP解析器将
2e2
视为值为200.0的浮点字面值,当强制转换为int时,将得到200。 - 将字符串解析为浮点数,理解表示法并给出预期结果200。
以下代码:
echo (int) "2e2";
echo (int) 2e2;
echo (float) "2e2";
输出2
200
200
. .我也不知道为什么。谢谢。
"2e2"为科学记数法,表示2*102 == 200。
e
)。2e2
视为值为200.0的浮点字面值,当强制转换为int时,将得到200。