php 中的 floatval 和 (float) 有什么区别?

Jam*_*ake 7 php casting

我有一些字符串需要转换为浮点数,但已经看到了两种明显不同的方法:

$float = floatval ($float);
Run Code Online (Sandbox Code Playgroud)

$float = (float) $float;
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么区别吗?

Pra*_* MS 1

在所有其他情况下,它将被评估为浮点数。换句话说,$string 首先被解释为 INT,导致溢出($string 值 2968789218 超出了 32 位 PHP 的最大值( PHP_INT_MAX ),即 2147483647。),然后通过 (float) 或浮点值()

请查看PHP 将字符串转换为浮点型/双精度型

对此的最佳答案是类型转换与 PHP 中转换变量类型的函数

  • 有趣的信息,但是它**不以任何方式回答**这个问题。应该是一个评论。(此外,由于它仅发生在 32 位 PHP 安装上,因此它可能只影响一小部分系统。) (9认同)