PHP 数字
在本章中,我们将深入研究整数、浮点数和数字字符串。
PHP 数字
关于 PHP 需要注意的一点是它提供了自动数据类型转换。
因此,如果你将一个整数值赋给一个变量,该变量的类型将自动为整数。然后,如果你将一个字符串赋给同一个变量,该变量的类型将变为字符串。
这种自动转换有时会破坏您的代码。
PHP 整数
2、256、-256、10358、-179567 都是整数。
整数是没有任何小数部分的数字。
整数数据类型是 32 位系统中 -2147483648 到 2147483647 之间的非十进制数,64 位系统中 -9223372036854775808 到 9223372036854775807 之间的非十进制数。大于(或小于)此值的值将存储为浮点数,因为它超出了整数的限制。
笔记: 另一件需要了解的重要事情是,即使 4 * 2.5 是 10,结果也会存储为浮点数,因为其中一个操作数是浮点数(2.5)。
以下是整数的一些规则:
- 整数必须至少有一位数字
- 整数不能有小数点
- 整数可以是正数也可以是负数
- 整数可以采用三种格式指定:十进制(基于 10)、十六进制(基于 16 - 以 0x 为前缀)或八进制(基于 8 - 以 0 为前缀)
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_MAX - 可表示的最小负浮点数
- PHP_FLOAT_DIG - 可以四舍五入为浮点数并返回而不损失精度的小数位数
- PHP_FLOAT_EPSILON - 可表示的最小正数 x,因此 x + 1.0 != 1.0
PHP 有以下函数来检查变量类型是否为浮点型:
- 是浮点型()
- is_double() - is_float() 的别名
PHP 无限
大于 PHP_FLOAT_MAX 的数值被视为无限。
PHP 具有以下函数来检查数值是否有限或无限:
但是,PHP var_dump() 函数返回数据类型和值:
PHP NaN
NaN 代表“非数字”。
NaN 用于不可能的数学运算。
PHP 具有以下函数来检查某个值是否不是数字:
但是,PHP var_dump() 函数返回数据类型和值:
PHP 数字字符串
PHP is_numeric() 函数可用于查找变量是否为数字。如果变量是数字或数字字符串,则该函数返回 true,否则返回 false。
例子
检查变量是否为数字:
<?php
$x = 5985;
var_dump(is_numeric($x));
$x =“5985”;
var_dump(is_numeric($x));
$x =“59.85”+100;
var_dump(is_numeric($x));
$x = “你好”;
var_dump(is_numeric($x));
?>
亲自尝试 »
笔记: 从 PHP 7.0 开始:is_numeric() 函数将对十六进制形式的数字字符串(例如 0xf4c3b00c)返回 FALSE,因为它们不再被视为数字字符串。
PHP 将字符串和浮点数转换为整数
有时您需要将数值转换为另一种数据类型。
(int)、(integer) 或 intval() 函数通常用于将值转换为整数。
例子
将浮点数和字符串转换为整数:
<?php
// 将浮点数转换为整数
$x = 23465.768;
$int_cast = (int)$x;
回声 $int_cast;
回显<br> “;
// 将字符串转换为 int
$x =“23465.768”;
$int_cast = (int)$x;
回声 $int_cast;
?>
亲自尝试 »