我有此方法返回0,我不知道为什么。

方法:

double Fraccion::getDivision()
{
    double d;
    d = numerador/denominador;
    cout << fixed << numerador << "/" << denominador << "=" << d << endl;
    return d;
}

这是输出控制台:
Introduce el numerador //This is in the main file
5
Introduce el denominador //This is in the main file
25
5/25=0.000000
Division: 0.000000

最佳答案

从给定的输出来看,numeradordenominador似乎是int。因此,将它们划分为integer division(即只占整个部分),然后才被提升为double。您可以通过在跳水之前进行显式转换来避免这种情况:

d = ((double) numerador)/denominador;

10-02 21:14