【发布时间】:2020-03-06 14:10:05
【问题描述】:
如何生成一个范围内包含的若干个随机数,其演化在一个范围内的百分比?
目标是生成随机数,同时避免显着差异。
我尝试了这段代码,但在 php 7.4 中,随机数只会增加,直到出现致命错误
$min=400; // starting value
$max = 600; // starting value
for ($i = 1; $i <= 1000; $i++)
{
$nb = random_int($min, $max);
echo $nb . "\n";
$percentage_min = random_int(0, 10);
$percentage_max = random_int(10, 20);
$min = floor($nb-($nb * $percentage_min)/100);
$max = floor($nb+($nb * $percentage_max)/100);
}
【问题讨论】:
-
@Cid 进化在百分比最小值和最大值范围内
-
我想,$percentage 没有定义,PHP 会解释为 0。所以任何东西乘以零都是零!零除以 100 也是零。
-
@t 只是编辑错误,我更正了我的帖子
-
如前所述将 $percentage 固定为 $percentage_min,结果不为 0。
-
经过数百次迭代,数字溢出最大大小和错误:未捕获的类型错误:random_int() 期望参数 2 为 int,给定浮点数 ...
random_int(7.3019726629039E+18, 9.3433843751136E+18)