有没有一种常见的方法可以返回从B到N更接近A的数字C?

时间:2012-09-12 19:09:11

标签: .net math

Prev = 10, Cur = 17, Step = 2

是否有一种方法可以为Prev + Step提供Prev - StepPrev > Cur {/ 1}}?

UPD:我正在寻找类似的东西:

int StepDifference(int A, int B, int N)
        {
            int ret;
            if (A > B)
                if (A - N >= B)
                    ret = A - N;
                else
                    ret = B;
            else
                if (A + N <= B)
                    ret = A + N;
                else
                    ret = B;
            return ret;
        }

Math或其他命名空间中是否有“官方”方法?我想要做很多事情,我认为自定义实现可能会更慢。我试过的“官方”助手方法的几乎所有自定义实现都比较慢,这就是我要问的原因。

4 个答案:

答案 0 :(得分:3)

num = prev > cur ? prev - step : prev + step

答案 1 :(得分:2)

(Cur > Prev) ? Prev + Step : Prev - Step;

答案 2 :(得分:0)

public int Calculate(int Prev, int Cur, int Step)
{
  if(Prev > Cur)
    return Prev - Step;

  return Prev + Step
}

答案 3 :(得分:0)

任何Microsoft名称空间中都没有这样的方法。