日期:2014-05-18  浏览次数:21677 次

c#中怎么产生01之间的随机数
c#语言怎么产生0~1之间的随机数?我用rand()发现好像只能是产生整数,但是我想产生0.1,0.2等小数怎么产生啊?
求高手指点啊!

------解决方案--------------------
Random rd = new Random();
int a = rd.Next(100);
float f =( float )(a * 0.01);
这是产生2位小数
------解决方案--------------------
探讨

这个方法可以。我原来的意思是c#里面有没有直接的函数产生,刚刚有了新发现,可以用:
Random rd=new Random();
double dResult;
dResult=rd.NextDouble();
可以。
谢谢了

------解决方案--------------------
探讨

啊,是的,这个是好多位的小数.要产生固定位数的小数,只能用你那样的方法了吗

------解决方案--------------------
Random rd = new Random();
double dResult;
dResult = rd.NextDouble();
dResult = Math.Round(dResult, 1);
加上一行去掉后面不要的位数
------解决方案--------------------
public virtual double NextDouble();
返回一个介于 0.0 和 1.0 之间的随机数。
------解决方案--------------------
理论上说 NextDouble 的返回结果是不同的,当你需要一个随机数时,最好只执行一次 NextDouble 将结果保存在变量中,使用时取变量的值