在c ++中使用双精度时模数不起作用

mat*_*ttm 0 c++

我不被允许使用mod.我认为这不起作用,因为我正在使用双打; 有没有解决的办法?---评论区域工作

void displayResults(double num1, char oper, double num2)
{
     switch(oper)
     {
     case '+' :
     cout << num1 << "+" << num2 << "=" << (num1+num2) << endl;
     break;

     case '-' :
     cout << num1 << "-" << num2 << "=" << (num1-num2) << endl;
     break;

     case '*' :
     cout << num1 << "*" << num2 << "=" << (num1*num2) << endl;
     break; 

     case '/' :
          if ( num1==0 || num2==0)
          cout <<"A number divided by 0 or divided into 0 is always 0"<< endl;
          else
          cout << num1 << "/" << num2 << "=" << (num1/num2) /*+ (num1%num2) */ << endl;
          break; 
    // case '%' :
    // cout << num1 << "%" << num2 << "=" << (num1%num2);
    //break;
     }

}
Run Code Online (Sandbox Code Playgroud)

0x4*_*2D2 5

使用std::fmod.它有双重超载:

#include <cmath>

std::fmod(num1, num2);
Run Code Online (Sandbox Code Playgroud)