我正在尝试在 VBA 中编写一行代码,允许我在 -35
之间生成随机数和 5
.但是,我使用了以下公式,它给了我 -5
之间的随机数和 +5
Int((Rnd() * ((-1) ^ Int(Rnd() * 10))) * 5)
最佳答案
Fix(Rnd() * 41) - 35
会做的。这将是均匀分布的,只要
Rnd()
是。 Fix
擦洗数字的小数部分。您想要 -35 和 5 之间的每个数字(包括 41 个数字)。 rnd()
本身从不绘制 1。用类似的东西测试生成器
Sub test()
Dim j As Long
While True
j = Fix(Rnd() * 41) - 35
VBA.DoEvents 'so you can break the program once you're done
If j < -35 Or j > 5 Then
Stop 'oops
End If
If j = -35 Then
Debug.Print "Yup, I draw on the boundary"
End If
If j = 5 Then
Debug.Print "Yup, I draw on the boundary"
End If
Wend
End Sub
关于excel - VBA 生成 -35 到 +5 之间的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45797082/