生成带有一个小数点的随机双数

Rub*_*ing 2 .net c# vb.net random double

我必须生成一个介于-4.04.0之间的数字,包括所有数字,如3.4等.我已设法创建一个随机整数但在创建时卡住double- 它只返回一个integer.

Sar*_*yan 6

.NET Randomclass提供了一种NextDouble()可以在这种情况下使用的方法.但是,针对您的案例的解决方法将更容易,更快速地实施.如:

Dim r As Random = New Random()
Dim d As Double = r.Next(-4, 4) + (r.Next(0, 9) / 10) 'First random next call in desired range, and second is to add the decimal point

Console.WriteLine("Generated Number: {0}", d)
Run Code Online (Sandbox Code Playgroud)

  • 另一个更清晰的方法是"Dim d as Double = r.NextDouble()*8 - 4`.NextDouble()返回一个介于0和1之间的数字(与传统的Rnd()函数一样).乘以8得出0到8之间的范围,下边界为减去4.哦,对于"一小数点",只需使用`Math.Round(d,1)`. (2认同)