php - 将指数数类型转换为 int 或 float

标签 php casting

以下代码:

echo (int) "2e2";
echo (int) 2e2;
echo (float) "2e2";

输出

2
200
200

.. 我不知道为什么。谢谢。

最佳答案

“2e2”是 scientific notation ,意思是 2*102 == 200。

  1. 在您的第一个示例中,将字符串解析为 int 只会读取第一个非数字(因此它会忽略 e)。
  2. PHP 解析器将 2e2 视为 float literal值为 200.0,这在转换为 int 时给出 200。
  3. 将字符串解析为 float 可以理解符号并给出预期结果 200。

关于php - 将指数数类型转换为 int 或 float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090275/

相关文章:

javascript - 我的 php 代码没有更新我的数据库

VB6 IsNumeric 会出错吗?

javascript - 如何实现parseFloat

c++ - 将指针指向它的第一个成员是非法的吗?

php - 来自PHP CLI的Google Analytics(分析)

PHP 大括号,这段代码的含义是什么

php - 尽管左连接,ID 仍丢失

PHP 读取以 utf8_unicode_ci 编码的 mysql 数据

c - 如何使用 void 通用指针用值填充数组?

SQLite:如何从整数年和月组件创建日期?