PHP 数字
在本章中,我们将深入探讨整数、浮点数和数字字符串。
PHP 数字
PHP 中有三种主要的数字类型
整数
浮点数
数字字符串
此外,PHP 还有两种用于数字的数据类型
Infinity
NaN
数字类型的变量在赋值时创建。
示例
$a = 5;
$b = 5.34;
$c = "25";
要验证 PHP 中任何对象的类型,请使用 var_dump()
函数。
PHP 整数
2, 256, -256, 10358, -179567 都是整数。
整数是没有小数部分的数字。
在 32 位系统上,整数数据类型是一个介于 -2147483648 和 2147483647 之间的非小数数字,在 64 位系统上,介于 -9223372036854775808 和 9223372036854775807 之间。大于(或小于)此值的数将被存储为浮点数,因为它超出了整数的限制。
注意: 另一个需要知道的重要事情是,即使 4 * 2.5 等于 10,结果也会存储为浮点数,因为其中一个操作数是浮点数 (2.5)。
以下是整数的一些规则:
- 整数必须至少有一个数字。
- 整数不能有小数点。
- 整数可以是正数或负数。
- 整数可以用三种格式指定:十进制(基数 10)、十六进制(基数 16 - 前缀为 0x)、八进制(基数 8 - 前缀为 0)或二进制(基数 2 - 前缀为 0b)。
PHP 具有以下预定义的整数常量:
PHP_INT_MAX
- 支持的最大整数。PHP_INT_MIN
- 支持的最小整数。PHP_INT_SIZE
- 整数的大小(字节)。
PHP 具有以下函数来检查变量的类型是否为整数:
is_int()
is_integer()
-is_int()
的别名。is_long()
-is_int()
的别名。
PHP 浮点数
浮点数是带小数点或指数形式的数字。
2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 都是浮点数。
浮点数数据类型通常可以存储高达 1.7976931348623E+308(取决于平台)的值,并且最大精度为 14 位数字。
PHP 具有以下预定义的浮点数常量(自 PHP 7.2 起):
PHP_FLOAT_MAX
- 最大可表示的浮点数。PHP_FLOAT_MIN
- 最小可表示的正浮点数。PHP_FLOAT_DIG
- 可以舍入到浮点数然后转换回来而不会损失精度的小数位数。PHP_FLOAT_EPSILON
- 最小的可表示正数 x,使得 x + 1.0 != 1.0。
PHP 具有以下函数来检查变量的类型是否为浮点数:
is_float()
is_double()
-is_float()
的别名。
PHP 无穷大
大于 PHP_FLOAT_MAX
的数值被视为无穷大。
PHP 具有以下函数来检查数值是否为有限数或无穷大:
但是,PHP 的 var_dump()
函数会返回数据类型和值。
PHP NaN
NaN
是 Not a Number(非数字)的缩写。
NaN
用于不可能的数学运算。
PHP 具有以下函数来检查一个值是否不是数字:
但是,PHP 的 var_dump()
函数会返回数据类型和值。
PHP 数字字符串
PHP 的 is_numeric()
函数可用于查找变量是否为数字。如果变量是数字或数字字符串,则函数返回 true,否则返回 false。
示例
检查变量是否为数字。
$x = 5985;
var_dump(is_numeric($x));
$x = "5985";
var_dump(is_numeric($x));
$x = "59.85" + 100;
var_dump(is_numeric($x));
$x = "Hello";
var_dump(is_numeric($x));
自己动手试一试 »
注意:自 PHP 7.0 起:is_numeric()
函数将对十六进制形式的数字字符串(例如 0xf4c3b00c)返回 FALSE,因为它们不再被视为数字字符串。
PHP 字符串和浮点数转换为整数
有时您需要将数值转换为其他数据类型。
函数 (int)
、(integer)
和 intval()
通常用于将值转换为整数。
示例
将浮点数和字符串转换为整数。
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;
echo "<br>";
// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
自己动手试一试 »
在 PHP 类型转换章节了解更多关于类型转换的信息。