C#生成两个小数之间的随机小数
本文关键字:小数 两个 之间 随机 | 更新日期: 2023-09-27 18:21:26
EDIT我会重新解释,每当我说十进制时,我指的是system.decimal
,而不是数学概念
decimal min = 5.62;
decimal max = 14.39;
如何获得在上述两个小数的范围之间随机的system.decimal
?
加倍!=system.decimal
仅供参考,我不知道如何才能让我的问题更清楚,因为超过一半的阅读者只阅读了两个单词,然后将其标记为重复。
y=mx+c。生成一个0<X<1 FP random与NextDouble(),将其向上乘以(Dmax-Dmin)到正确的范围,然后加上Dmin以移动基数。
将小数缩放为整数或大整数(乘以适当的10次方)。在它们之间生成一个int,然后除以10的幂。
或者生成一个int,然后在小数之间(线性)缩放。
public static double randomDouble(Random rand, double start, double end)
{
return (rand.NextDouble() * Math.Abs(end-start)) + start;
}
这里是StackOverflow上的资源;)
在C#中生成随机小数
或者你可以试试:
Random random = new Random();
double mathResult = Math.Round((random.NextDouble() / 100), 3);
希望这能有所帮助!