如何将一系列浮点数(x 到 y)表示为 0-1 范围内的一组双精度值,其中 x 为 0,y 为 1?

How can I represent a range of floats (x to y) as a set of doubles from a range of 0-1 where x is 0 and y is 1?

如问题标题所示,我正在寻找一种有效的方法来表示一组介于(和包括)值 x 和 y 之间的浮点值,在一组 0-1 的双精度值中,其中 x 等于0 和 y 等于 1。然后填写之间的值。

假设 x 为 5,y 为 20。

现在,5 = 0、20 = 1。 是否有数学函数来确定 c# 中 10 的值?

我觉得我只是想不出一种方法来以编程方式执行此操作,我可以交换 x 和 y 的值。给定的 x 和 y 值将是个位数。 0-1 范围内的值应具有 2 个十进制值的精度。感谢任何帮助,谢谢!

您可以创建自己的函数,它接受 x 和 y,第三个参数是您要映射的值,然后 return 就像:

 Static double Map(float x, float y, float inputValue){ Return Convert.ToDouble((inputValue-x)/(y-x));}

从逻辑的角度来看,您试图找出您的 InputValue 在 x 和 y 之间的分数。想象一条漫长的道路,中间某处有人。要找到他沿途的分数,您必须找到他走了多远,即他的位置减去起始位置,然后将其除以道路的总距离,在本例中为 y(终点) -x(起始位置)