Je voudrais comprendre pourquoiboost :: format donne des résultats différents que ronde
double nbr = 102262.5;
boost::format("%.0f") % nbr;
donne 102262
tout round(102262.5)
donne 102263.0
Si nous prenons une autre valeur exemple 34087.5
boost::format("%.0f") % nbr
donne 34088
et round(34087.5)
donne le même 34088
Cela signifie-t-il que round implémente un algorithme plus sophistiqué pour s'assurer que le format le plus proche ou printf ne l'est pas?
Qu'est-ce que vous obtenez avec 'round (nbr)'? Différent n'est pas la même chose. –
J'obtiens le même résultat avec round (nbr) qu'en utilisant la valeur littérale. – Bing
faites-vous référence à 'std :: round' ou' boost :: round'? Quoi qu'il en soit, ils utilisent tous les deux le même arrondi, ce qui rend encore plus surprenant que boost :: format fonctionne différemment – user463035818