如何在分数计算器中做除法?

How to do Division in a Fractional Calculator?

我完全不确定该怎么做。我搜索过但找不到简单的答案。

我做过乘法,我知道它与它相似。需要一些帮助。我想知道如何对两个分数进行除法。

我的乘法模块:

    {

        answerDenominator = num1Denominator * num2Denominator; //Multiply both denominators
        answerNumerator = ((num1Whole * num1Denominator) + num1Numerator) *   //multiply the whole number by the denominator and add the numerator to it
                ((num1Whole * num2Denominator) + num2Numerator); //multiply the whole number by the second denominator, then add the second numerator, multiply these two answers together

        answerWhole = answerNumerator / answerDenominator; 
        answerNumerator = answerNumerator % answerDenominator;

    }

假设我们必须进行以下划分:

(a/b):(c/d)

这等于

(a/b)*(d/c)

据说除法可以像下面这样简单地完成:

static double CalculateDivisionResult(double a, double b, double c, double d)
{
    return (a/b)*(d/c);
}

在上面:

  • a 是 num1Numerator.
  • b 是 num1Denominator。
  • c 是 num2Numerator。
  • d 是 num2Denominator。

以上最重要的一点是我们使用了double。我们为什么这样做?

a=3b=7c=4d=5:

然后

(a/b)*(d/c) = 15/28

如果您选择将数字表示为整数,int a=3,那么上面的数字显然是 0。将它们表示为双精度我们可以克服这个问题。