21xrx.com
2024-04-16 16:09:01 Tuesday
登录
文章检索 我的文章 写文章
PHP 数字
2021-07-21 20:16:43 深夜i     --     --
P H P


在本章中,我们将深入研究整数、浮点数和 数字字符串。


PHP 数字

关于 PHP 需要注意的一件事是它提供了自动数据类型 转换。

所以,如果你给一个变量赋一个整数值,那个变量的类型 将自动为整数。 然后,如果您将字符串分配给 相同的变量,类型将更改为字符串。

这种自动转换有时会破坏您的代码。


PHP 整数

2, 256, -256, 10358, -179567 都是整数。

整数是没有任何小数部分的数字。

整数数据类型是介于 -2147483648 和 2147483647 在 32 位系统中,在 -9223372036854775808 和 9223372036854775807 在 64 位系统中。 大于(或小于)此值的值将存储为浮点数, 因为它超出了整数的限制。

注意:另一件重要的事情是,即使 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
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>

 


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_float()
  • is_double() - is_float() 的别名

检查变量的类型是否为浮点型:

<?php
$x = 10.365;
var_dump(is_float($x));
?>

PHP无限

大于 PHP_FLOAT_MAX 的数值被认为是无限的。

PHP 有以下函数来检查数值是否有限或 无穷:

  • is_finite()
  • is_infinite()

但是,PHP var_dump() 函数返回数据类型和值:

检查数值是有限的还是无限的:

<?php
$x = 1.9e411;
var_dump($x);
?>

PHP NaN

NaN 代表非数字。

NaN 用于不可能的数学运算。

PHP 有以下函数来检查值是否不是数字:

  • is_nan()

但是,PHP var_dump() 函数返回数据类型和值:

无效计算将返回 NaN 值:

<?php
$x = acos(8);
var_dump($x);
?>

PHP 数字字符串

PHP is_numeric() 函数可用于查找变量是否为 数字。 如果变量是数字,则函数返回真 字符串,否则为假。

检查变量是否为数字:

<?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 = "Hello";
var_dump(is_numeric($x));
?>

注意:从 PHP 7.0 开始:is_numeric() 函数将返回 十六进制形式的数字字符串为 FALSE(例如 0xf4c3b00c),因为它们不是 不再被视为数字字符串。


PHP 将字符串和浮点数转换为整数

有时您需要将数值转换为另一种数据类型。

(int)、(integer) 或 intval() 函数通常用于转换值 为整数。

将浮点数和字符串转换为整数:

<?php
// 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数字

评论区

{{item['qq_nickname']}}
()
回复
回复