php随机浮点数都有哪些?比如从0.1到3.0中随机一个浮点数出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php随机浮点数都有哪些?比如从0.1到3.0中随机一个浮点数出来?相关的知识,希望对你有一定的参考价值。

参考技术A

php中是可以使用rand()函数来产生一个随机数,不过不能直接生产浮点数,但是可以多走一步来生产浮点数。

我们可以先生成1-30中的数,然后在处以10就行了。

<?php
$num = rand(1,30)/10;
echo $num
>

这时num的值就是0.1-3.0中的随机浮点数。

rand()函数使用方法

int rand ( int $min , int $max )

其中的参数为:

    min

返回的最低值(默认:0)

    max

返回的最高值(默认:getrandmax())

rand()函数的其它使用方法,请访问官方文档:PHP文档

获取 0.0200 到 0.120 之间的随机数(浮点数)[重复]

【中文标题】获取 0.0200 到 0.120 之间的随机数(浮点数)[重复]【英文标题】:Get a random number between 0.0200 and 0.120 (float numbers) [duplicate] 【发布时间】:2013-07-17 14:20:48 【问题描述】:

我需要使用 JavaScript 创建一个介于 0.0200 和 0.120 之间的随机数。我该怎么做?

【问题讨论】:

不是与***.com/questions/1527803/… 的副本。这个问题专门询问浮点数,另一个是整数。答案不兼容,因为它们使用 Math.floor()。 @TedBigham,链接副本中的第一个示例不使用地板。 不使用 floor 的链接答案也只给出了包含/排他的答案。这个问题是模棱两可的,并且基于他们正在寻找包容性/包容性的公认答案,这也证明了非重复状态是合理的。 【参考方案1】:

你在这里:

function generateRandomNumber() 
    var min = 0.0200,
        max = 0.120,
        highlightedNumber = Math.random() * (max - min) + min;

    alert(highlightedNumber);
;

generateRandomNumber();

我理解你真正的问题——你不知道如何在浮点数之间得到一个随机数,对吧?对了,答案已经通过了。

要使用代码,just click here to jsFiddle。

更新

要获得小数的前四个数字,请使用.toFixed(3) 方法。我已经执行了一个示例here, on jsFiddle。

【讨论】:

感谢 JsFiddle。太好了。 是否可以四舍五入,只显示小数点后 3 位?我认为 .toFixed 会起作用,但它没有。 我知道了,我用highlightedNumber = (Math.random() * (max - min) + min).toFixed(4); 我更新了。 @编辑:哦,对不起。我没有看到接受的答案。 对于那些好奇的人,我计算了这个函数的标准差,以确保它具有“随机性”的均匀分布 - view the results。这些东西是interesting to me。【参考方案2】:

你可以使用

(Math.random() * (0.120 - 0.0200) + 0.0200).toFixed(4)

toFixed(n) 用于将数字转换为字符串,只保留“n”位小数。

希望对你有帮助^_^

【讨论】:

+1。对于那些好奇的人,我计算了这个函数的标准偏差,以确保它具有相等的“随机性”分布 - view the results。这类东西是interesting to me。 在那个东西周围扔一个 parseFloat( ) ,它对我来说是完美的。【参考方案3】:

如果您希望生成该随机数和其他随机数或其他东西,我建议您查看Chance 库。它提供了一个很好的抽象层,因此您不必摆弄 Math.random() 并编写自己的。

chance.floating(min: 0.02, max: 0.12);

完全披露:我是作者,所以我有点偏见:)

此外,如果这是您需要生成的唯一随机事物,或者它是大小是真正问题的客户端,我建议您只使用上述建议之一。不值得几 Kb 几行就行了。

【讨论】:

不错的图书馆。感谢您的链接和工作;)

以上是关于php随机浮点数都有哪些?比如从0.1到3.0中随机一个浮点数出来?的主要内容,如果未能解决你的问题,请参考以下文章

python语言中都有哪些数据类型

0到1.0 php之间的随机浮点数[重复]

js 双精度浮点数

关于PHP浮点数之 intval((0.1+0.7)*10) 为什么是7

JavaScript 中游戏精度问题有哪些思路?

python浮点数精度问题