代码:
Dim a,b
randomize
a=int(rnd*1+
select case a
case O
b="0"
case 1
b="1"
end select
msgbox b
请问为什么输出总是0?谢谢
VBS生成的随机数为什么会不随机?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
爱编程的小芒果 2023-07-21 12:26关注你看看这篇博客:https://blog.csdn.net/weixin_33698823/article/details/93657623
里面有一段是这样的:
为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
举例如下:
Funtion GetRandomMath(m,n) Randomize GetRandomMath = Int(((n-m+1) * Rnd) + m) End Function msgbox GetRandomMath(20,30)注意:若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报