整型

2018-12-25  本文已影响0人  Yang_Xiao

整数溢出:
如果给定的一个数超出了 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

上一篇下一篇

猜你喜欢

热点阅读