📜  php 带有 2 位小数的随机浮点数 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:23.703000             🧑  作者: Mango

生成带有 2 位小数的随机浮点数 in PHP

当我们需要在 PHP 中创建随机浮点数时,我们可以使用内置的 rand()mt_rand() 函数。这些函数允许我们生成一个在指定范围内的随机整数,并将其转换为浮点数。

然而,默认情况下,这些函数生成的随机数可能会有很多位小数。这在某些情况下可能不是我们想要的。为了生成带有2位小数的随机浮点数,我们可以使用以下方法:

<?php
$random_num = mt_rand(1, 10000) / 100;
$random_num = round($random_num, 2);
echo $random_num;
?>

在上面的代码中,我们首先使用 mt_rand() 函数来生成一个1到10,000之间的随机整数。然后,我们将它除以100来产生一个随机的两位小数。最后,我们使用 round() 函数将结果四舍五入到两个小数位。

如果您不需要使用 mt_rand() 函数,也可以使用 rand() 替换它:

<?php
$random_num = rand(1, 10000) / 100;
$random_num = round($random_num, 2);
echo $random_num;
?>

对于这两种情况,输出的结果将非常类似,都是在1到100之间的小数。

使用 PHP 7.1+ 版本和random_int函数

在PHP 7.1 或更高版本中引入的 random_int()函数可以使我们避免使用mt_rand或rand函数中存在的问题。random_int()是一个高质量的伪随机数生成器,可以产生各种数字类型的随机数。

示例代码如下:

<?php
$random_num = random_int(100,10000) / 100;
echo round($random_num,2);
?>
结论

使用上述两种方法之一,您可以轻松地生成一个带有两位小数的随机浮点数。无论您选择使用 mt_rand()rand() 还是 random_int(),都可以生成一个范围内的随机值,该值适用于您的应用程序或项目。