整型

整数溢出:
如果给定的一个数超出了 integer 的范围,将会被解释为 float 。同样如果执行的运算结果超出了 integer 范围,也会返回 float 

Example #3 32 位系统下的整数溢出

<?php

$large_number  =  2147483647 ;

var_dump ( $large_number );                      // int(2147483647)

$large_number  =  2147483648 ;

var_dump ( $large_number );                      // float(2147483648)

$million  =  1000000 ;

$large_number  =   50000  *  $million ;

var_dump ( $large_number );                      // float(50000000000)

?>

Example #4 64 位系统下的整数溢出

<?php

$large_number  =  9223372036854775807 ;

var_dump ( $large_number );                      // int(9223372036854775807)

$large_number  =  9223372036854775808 ;

var_dump ( $large_number );                      // float(9.2233720368548E+18)

$million  =  1000000 ;

$large_number  =   50000000000000  *  $million ;

var_dump ( $large_number );                      // float(5.0E+19)

?>

PHP 中没有整除的运算符。1/2 产生出 float 0.5。值可以舍弃小数部分强制转换为 integer ,或者使用 round() 函数可以更好地进行四舍五入。

var_dump(1/2)  //0.5

var_dump((int)(1/2))  //0

var_dump(round(1/2))  //1

从浮点型转换

当从浮点数转换成整数时,将向下取整。

var_dump((int)0.9);  //0

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容