【问题标题】:Random Number between 2 variables/values2个变量/值之间的随机数
【发布时间】:2013-11-24 09:53:17
【问题描述】:

我正在开发一个介绍 VB 课程的项目。我需要在用户输入的 2 个值之间创建一个随机数。我有一个上限文本框/变量和一个下限文本框/变量。我已经尝试了我能找到的一切,它产生了奇怪的结果。我不知道如何获得两个值之间生成的随机数。例如,如果用户输入 100 作为下限,500 作为上限,则随机数应该在 100-500 的范围内。

请让我知道我做错了什么??

'Grabs the txbox input and assigns to vars
intLowNumber = CInt(mskLowerRange.Text)
intUpperNumber = CInt(mskUpperRange.Text)

intRandomNumber = rand.Next(intUpperNumber) - intLowNumber

'Output to listbox and textbox
lstOutput.Items.Add(intRandomNumber)
txtNumber.Text = CStr(intRandomNumber)

【问题讨论】:

标签: vb.net random


【解决方案1】:

你的代码错了,特别是

intRandomNumber = rand.Next(intUpperNumber) - intLowNumber

假设 intUpperNumber 是 200,intLowNumber 是 100,上面给出的值介于 -100 (0 - 100) 和 99 (199 - 100) 之间。

You can give Random.Next two parameters for a random number in a range. 第一个参数是最小值,第二个参数是随机数的最大值。

注意,上界(最大值)是排他性的,所以如果要包括最大值,则需要加1。这样使用:

'Grabs the txbox input and assigns to vars
intLowNumber = CInt(mskLowerRange.Text)
intUpperNumber = CInt(mskUpperRange.Text)

intRandomNumber = rand.Next(intLowNumber, intUpperNumber+1)

'Output to listbox and textbox
lstOutput.Items.Add(intRandomNumber)
txtNumber.Text = CStr(intRandomNumber)

【讨论】:

  • 你能解释一下我将如何在我的代码中使用它吗?我去了链接,但我仍然无法弄清楚如何在我的代码中使用它。对不起,请告诉我我是初学者,刚刚学习VB。
  • 谢谢先生完美的解释。我对 VB 很陌生,我没有得到 MSDN 页面告诉我将它放在格式 rand.Next(lower,upper) 查看 MSDN 网站,它看起来像是写在 4 行上,我没有'在你给我看之前,我不明白这只是一条线。再次感谢你让我度过了一个美好的夜晚:)
  • @Code_Help:没问题,很高兴我能提供帮助 :) 通常可以从 MSDN 页面获得很多帮助。很多文章的末尾都有 C# 和 VB 的示例。
猜你喜欢
  • 2015-01-22
  • 2021-10-31
  • 2020-01-23
  • 2016-07-05
  • 1970-01-01
  • 2017-11-20
  • 2018-01-25
  • 2015-11-07
  • 2023-03-11
相关资源
最近更新 更多