您的位置:首页 > 编程语言 > PHP开发

测试PHP的整型(integer)

2013-11-11 11:44 337 查看
测试代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/xhtml1-loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Test Boolean</title>

</head>

<body>

整数可以用十进制, 八进制, 十六进制, 科学计数法表示<br />

<?php

var_dump(16);

echo('<br />');

var_dump(-16);

echo('<br />');

var_dump(0x10);

echo('<br />');

var_dump(-0x10);

echo('<br />');

var_dump(020);

echo('<br />');

var_dump(-020);

echo('<br />');

var_dump(2e3);

echo('<br />');

var_dump(-2e3);

?>

<br />整数的字长和最大值与平台有关。通过PHP_INT_MAX获得最大整数值<br />

<?php

var_dump(PHP_INT_MAX);

?>

<br />整数相加<br />

<?php

var_dump(1 + 2);

?>

<br />整数相减<br />

<?php

var_dump(1 - 2);

?>

<br />整数相乘<br />

<?php

var_dump(1 * 2);

?>

<br />整数相除 - <b>PHP居然没有整除!</b><br />

<?php

var_dump(1 / 2);

var_dump(2 / 1);

?>

<br />如果整数运算超出整数范围,结果将会自动转为浮点数<br />

<?php

var_dump(PHP_INT_MAX + 1);

echo '// 注意这里的结果是float类型了';

?>

<br />布尔值转换为整数,true被转为1,false被转为0<br />

<?php

var_dump((int)true);

var_dump((int)false);

?>

<br />浮点数强制转换为整数,小数部分总是被丢弃<br />

<?php

var_dump((int) 1.9);

?>

<br />浮点数四舍五入为整数,需要使用round函数并强制转换为int<br />

<?php

var_dump((int)round(1.9));

var_dump((int)round(1.5));

var_dump((int)round(1.2));

?>

<br />浮点数强制转换为整数。(0.1+0.7)*10的结果居然不是精确的8。这是浮点数的精度问题<br />

<?php

var_dump((int) ((0.1 + 0.7) * 10));

var_dump((0.1 + 0.7) * 10 == 8.0);

?>

<br />幸好PHP有两个扩展模块专门实现了任意长度的整数运算和任意精度的浮点运算。太棒了!

<br />

</body>

</html>

结果:

整数可以用十进制, 八进制, 十六进制, 科学计数法表示

int(16)

int(-16)

int(16)

int(-16)

int(16)

int(-16)

float(2000)

float(-2000)

整数的字长和最大值与平台有关。通过PHP_INT_MAX获得最大整数值

int(2147483647)

整数相加

int(3)

整数相减

int(-1)

整数相乘

int(2)

整数相除 - PHP居然没有整除!

float(0.5) int(2)

如果整数运算超出整数范围,结果将会自动转为浮点数

float(2147483648) // 注意这里的结果是float类型了

布尔值转换为整数,true被转为1,false被转为0

int(1) int(0)

浮点数强制转换为整数,小数部分总是被丢弃

int(1)

浮点数四舍五入为整数,需要使用round函数并强制转换为int

int(2) int(2) int(1)

浮点数强制转换为整数。(0.1+0.7)*10的结果居然不是精确的8。这是浮点数的精度问题

int(7) bool(false)

幸好PHP有两个扩展模块专门实现了任意长度的整数运算和任意精度的浮点运算。太棒了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: