(转)实现C#中等价于的Javascript中的Math.Random()的函数,以得到一个随机数,double类型的,大于0小于1的,17位精度的
转载地址:https://www.crifan.com/csharp_math_random_equivalent_float_number/
【背景】
写代码过程中遇到一个需求,想要生成类似于这样的:
0.21436000940809174
的一个0到1之间的,17位的,浮点,随机数。
其中我这里用的是.NET 2.0
【解决过程】
1.看到 C#_random_函数_C#随机函数random()典型用法集锦 中说有Math.Random(),结果代码里面试了试,结果没有这个函数。
2.不过看到上面提示有Next(N)方法,可以获得对应小于N的随机数。然后查了官方的关于Random的解释,找到有个Random.NextDouble方法,然后此处试了试:
?
1
2
Random rdm = new Random();
double randomDouble = rdm.NextDouble();
结果是可以获得对应的大于0小于1的浮点数的:
randomDouble = 0.68637410117610087
【另外】
.NET 4.5版本的,好像Random还支持Sample函数的,效果貌似和NextDouble一样。
转载请注明:在路上 » 【已解决】实现C#中等价于的Javascript中的Math.Random()的函数,以得到一个随机数,double类型的,大于0小于1的,17位精度的