最新消息:20210917 已从crifan.com换到crifan.org

【已解决】实现C#中等价于的Javascript中的Math.Random()的函数,以得到一个随机数,double类型的,大于0小于1的,17位精度的

C# crifan 5089浏览 0评论

【背景】

写代码过程中遇到一个需求,想要生成类似于这样的:

0.21436000940809174

的一个0到1之间的,17位的,浮点,随机数。

其中我这里用的是.NET 2.0

【解决过程】

1.看到 C#_random_函数_C#随机函数random()典型用法集锦 中说有Math.Random(),结果代码里面试了试,结果没有这个函数。

2.不过看到上面提示有Next(N)方法,可以获得对应小于N的随机数。然后查了官方的关于Random的解释,找到有个Random.NextDouble方法,然后此处试了试:

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位精度的

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
89 queries in 0.198 seconds, using 20.11MB memory