OK - je suis presque gêné de poster ici (et je vais supprimer si quelqu'un vote pour fermer), il semble comme une question de base.
Est-ce la bonne manière de rond, jusqu'à un multiple d'un nombre en C++?
Je sais qu'il y a d'autres questions liées à cela, mais je suis specficially intéressé de savoir quelle est la meilleure façon de le faire en C++:
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);
}
Mise à jour: Désolé, je probablement ne les a pas intention claire. Voici quelques exemples:
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: Merci pour toutes les réponses. Voici ce que j'ai:
int roundUp(int numToRound, int multiple)
{
if(multiple == 0)
{
return numToRound;
}
int remainder = numToRound % multiple;
if (remainder == 0)
{
return numToRound;
}
return numToRound + multiple - remainder;
}