C#生成两个小数之间的随机小数

本文关键字:小数 两个 之间 随机 | 更新日期: 2023-09-27 18:21:26

EDIT我会重新解释,每当我说十进制时,我指的是system.decimal,而不是数学概念

decimal min = 5.62;
decimal max = 14.39;

如何获得在上述两个小数的范围之间随机的system.decimal

加倍!=system.decimal

仅供参考,我不知道如何才能让我的问题更清楚,因为超过一半的阅读者只阅读了两个单词,然后将其标记为重复。

C#生成两个小数之间的随机小数

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);

希望这能有所帮助!