每当我说小数时,我的意思是
system.decimal
而不是数学概念
decimal min = 5.62;
decimal max = 14.39;
如何得到一个随机位于上述两位小数的
范围之间的
system.decimal
?
双精度!=系统.十进制
仅供参考,我不知道如何使我的问题更清楚,因为超过一半阅读本文的人只阅读了 2 个单词,然后将其标记为重复。
将小数缩放为整数或大整数(通过乘以适当的 10 次方。在它们之间生成一个整数,然后除以 10 次方。
或者生成一个 int,然后在小数点之间(线性)缩放它。
y=mx+c。生成 0<=X<1 FP random with NextDouble(), multiply it up by (Dmax-Dmin) into the right range, then add Dmin to shift the base.
public static double randomDouble(Random rand, double start, double end)
{
return (rand.NextDouble() * Math.Abs(end-start)) + start;
}
这是 StackOverflow 上的资源;)
或者你可以尝试:
Random random = new Random();
double mathResult = Math.Round((random.NextDouble() / 100), 3);
希望这有帮助!