2016-12-06 253 views
-1

我有一些字符串,我需要转换为浮动,但已经看到了两个明显不同的做这件事的方法:在PHP中floatval和(float)有什么区别?

$float = floatval ($float); 

$float = (float) $float; 

是否有这两种方法之间的差异?

+0

(浮动)是快6倍。因此,我的建议是使用它而不是floatval() – SimionZ

回答

1

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

请各位看看PHP Convert String into Float/Double

这样做的最好的答案是Typecasting vs function to convert variable type in PHP

+0

有趣的信息,但它**不以任何方式回答**问题。应该是一个评论。 (另外,因为它只发生在32位PHP安装上,所以它可能只影响一小部分系统。) –