生成两位小数之间的随机小数[重复]

问题描述 投票:0回答:4

每当我说小数时,我的意思是

system.decimal
而不是数学概念

decimal min = 5.62;
decimal max = 14.39;

如何得到一个随机位于上述两位小数的

范围
之间的system.decimal

双精度!=系统.十进制

仅供参考,我不知道如何使我的问题更清楚,因为超过一半阅读本文的人只阅读了 2 个单词,然后将其标记为重复。

c# random decimal
4个回答
5
投票

将小数缩放为整数或大整数(通过乘以适当的 10 次方。在它们之间生成一个整数,然后除以 10 次方。

或者生成一个 int,然后在小数点之间(线性)缩放它。


4
投票

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.


4
投票
public static double randomDouble(Random rand, double start, double end)
{    
    return (rand.NextDouble() * Math.Abs(end-start)) + start;
}

3
投票

这是 StackOverflow 上的资源;)

在 C# 中生成随机小数

或者你可以尝试:

Random random = new Random();
double mathResult =  Math.Round((random.NextDouble() / 100), 3);

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.