Int(rnd*100)是产生0~100的随机整数吗

2025-05-07 14:00:52

不是,严格的说rnd猾诮沓靥()函数只产生0到1直接的随机数(但绝不包括0和1)。

例如:

0的无限逼近:0.0000001

1的无覆诈端螽限逼近:0.9999999

int()函数是个取整函数,它的最大特点(往往让人错误)是忽略了小数部分。

结果:

int(0.0000001)=0 int(0.9999999)=0

从0和1的无限逼近值 * 100(即100*rnd())

那么:

100倍0的无限逼近:00.00001 (仍然是0啊) int(100*rnd())=0

100倍1的无限逼近:99.99999 (永远也到不了100啊 ) int(100*rnd())=99

那么Int(rnd*100)

这里产生的是0~99。

Int(rnd*100)是产生0~100的随机整数吗

扩展资料:

注意事项

Rnd 函数可返回一个随机数。数字总是小于 1 但大于或等于 0 。

因每一次连续调用 Rnd 函数时都用序列中的前一个数作为下一个数的种子,所以对于任何最初给定的种子都会生成相同的数列。

在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有基于系统计时器的种子。

要产生指定范围的随机整数,请使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。

注释:要重复随机数的序列,请在使用数值参数调用 Randomize 之前,立即用负值参数调用 Rnd。使用同样 number 值的 Randomize 不能重复先前的随机数序列。

语法:

Rnd[(number)]

例子1:

document.write(Rnd)

输出:

0.7055475

例子2:

如果您使用例子 1 中的代码,相同的随机数会重复出现。

可以使用 Randomize 语句在页面每次重新载入的时候生成一个新的随机数:

Randomize
document.write(Rnd)

输出:

0.4758112

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢