PHP类型转换

时间:2014-06-11 21:11:49

标签: php casting

所以我被要求作为我的作业的一部分,在 PHP 中将浮点数转换为整数。问题是根据 php.net 没有这样的演员阵容,我自己也找不到问题背后的概念。

鉴于以下内容:

$float = 1.92;
$float += 2;

它只是替换它们,导致 3.92 作为输出。


据我所知,可能的(或更确切地说是允许的)演员如下:

允许演员阵容:

(int), (integer) - cast to integer
(bool), (boolean) - cast to boolean
(float), (double), (real) - cast to float
(string) - cast to string
(array) - cast to array
(object) - cast to object
(unset) - cast to NULL (PHP 5)

他们向我们展示过某种技巧还是任务无效?

3 个答案:

答案 0 :(得分:3)

是否要将浮球四舍五入到最接近的整数?在这种情况下:

$float = 1.92;
$float += 2;

echo round($float);

输出4.或直接演员:

$float = 1.92;
$float += 2;

echo (int) $float;

输出3。

答案 1 :(得分:0)

是什么让你认为你不能把浮动转换成int?

php > $float = 1.92;
php > var_dump($float);
float(1.92)
php > $int = 2 + (int)$float;
php > var_dump($int);
int(3)
php > $int2 = (int)(2 + $float);
php > var_dump($int2);
int(3)

答案 2 :(得分:0)

您始终可以将浮点数转换为字符串,就像代码

一样
$float = 1.92;
$float +=2;
$int = (int)$float;
echo $int;

PHP始终支持float到整数类型的转换。有关更详细的说明,您可以参考我的PHP type casting帖子。