回 帖 发 新 帖 刷新版面

主题:我是新手麻烦哪位前辈能帮我看看这个代码?

我们这学期开了VB,刚上了3节课,结果做作业就遇到不懂的,麻烦各位前辈能给我讲讲~先谢谢了!
我们这道题是要随机产生整型,长整,单精度和双精度四种类型的数字,我用了数据类型转换函数,也不知道对不对,我是这么写的
Private Sub Command1_Click()
  Randomize
  Label1.Caption = CInt(-32768 * Rnd + 32767 * Rnd)
  Label2.Caption = CLng(-2147483648# * Rnd + 2147483647 * Rnd)
  Label3.Caption = CSng(-3.402823E+38 * Rnd + 3.402823E+38 * Rnd)
  Label4.Caption = CDbl(-4.79769313486232e308 * Rnd + 4.94065615841247e-324 * Rnd)
End Sub
Label4这句显示有溢出,我也不知道该怎么改,这种菜鸟问题希望大家别嫌麻烦回答我一下!非常感谢![em8]

回复列表 (共13个回复)

11 楼

88.72283892=ln(最大值)

12 楼

产生的随机数,有一半大于0.5。所以,每种数都有一半正的的机会。

13 楼

采用指数方式以后,会经常得到小一点的数字。
不然的话,例如(1.79769313486231E+308) * Rnd的话,10以内的数很难很难得到的!
因为rnd产生的数字是均布的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册