C ++: Aufrunden auf das nächste Vielfache einer Zahl

OK - Es ist mir fast peinlich, das hier zu posten (und ich werde es löschen, wenn jemand zum Schließen abstimmt), da es sich um eine grundlegende Frage handelt.

Ist dies der richtige Weg, um in C ++ auf ein Vielfaches einer Zahl aufzurunden?

Ich weiß, dass es andere Fragen gibt, aber ich bin besonders daran interessiert zu wissen, wie dies in C ++ am besten funktioniert:

int roundUp(int numToRound, int multiple)
{
 if(multiple == 0)
 {
  return numToRound;
 }

 int roundDown = ( (int) (numToRound) / multiple) * multiple;
 int roundUp = roundDown + multiple; 
 int roundCalc = roundUp;
 return (roundCalc);
}

Update: Entschuldigung, ich habe die Absicht wahrscheinlich nicht klargestellt. Hier sind einige Beispiele

roundUp(7, 100)
//return 100

roundUp(117, 100)
//return 200

roundUp(477, 100)
//return 500

roundUp(1077, 100)
//return 1100

roundUp(52, 20)
//return 60

roundUp(74, 30)
//return 90

EDIT: Danke für alle Antworten. Hier ist, wofür ich mich entschieden habe:

int roundUp(int numToRound, int multiple)  
{  
 if(multiple == 0)  
 {  
  return numToRound;  
 }  

 int remainder = numToRound % multiple; 
 if (remainder == 0)
  {
    return numToRound; 
  }

 return numToRound + multiple - remainder; 
}  

Antworten auf die Frage(56)

Ihre Antwort auf die Frage