La conversion en virgule flottante et en arrière semble être une énorme perte de temps au niveau du processeur.
La solution d'Ian Nelson:
int pageCount = (records + recordsPerPage - 1) / recordsPerPage;
Peut être simplifié pour:
int pageCount = (records - 1) / recordsPerPage + 1;
AFAICS, cela n'a pas le bogue de débordement que Brandon DuRette a souligné, et parce qu'il ne l'utilise qu'une seule fois, vous n'avez pas besoin de stocker le recordsPerPage spécialement s'il provient d'une fonction coûteuse pour récupérer la valeur d'un fichier de configuration ou quelque chose.
C'est à dire que cela pourrait être inefficace, si config.fetch_value a utilisé une recherche de base de données ou quelque chose:
int pageCount = (records + config.fetch_value('records per page') - 1) / config.fetch_value('records per page');
Cela crée une variable dont vous n'avez pas vraiment besoin, qui a probablement des implications de mémoire (mineures) et est tout simplement trop de frappe:
int recordsPerPage = config.fetch_value('records per page')
int pageCount = (records + recordsPerPage - 1) / recordsPerPage;
Il s'agit d'une seule ligne et ne récupère les données qu'une seule fois:
int pageCount = (records - 1) / config.fetch_value('records per page') + 1;