J’ai besoin d’une simple virgule flottante arrondi fonction, donc :
Je peux trouver ceil() et floor() math.h - mais pas round().
Il est présent dans la bibliothèque C++ standard sous un autre nom, ou il manque ??
J’ai besoin d’une simple virgule flottante arrondi fonction, donc :
Je peux trouver ceil() et floor() math.h - mais pas round().
Il est présent dans la bibliothèque C++ standard sous un autre nom, ou il manque ??
Il n'y a pas de round() en C++98 de la bibliothèque standard. Vous pouvez écrire vous-même:
double round(double d)
{
return floor(d + 0.5);
}
La raison probable il n'y a pas de fonction en C++98 de la bibliothèque standard, c'est qu'il peut en fait être mis en œuvre de différentes façons. Le ci-dessus est une façon courante, mais il en existe d'autres tels que la tour-de-même, ce qui est moins biaisé et généralement mieux si vous allez faire beaucoup de l'arrondissement; c'est un peu plus complexe à mettre en œuvre.
Boost offre un ensemble simple de fonctions d’arrondi.
Pour plus d’informations, consultez la documentation de Boost.
Il est disponible depuis le C ++11 dans cmath (selon http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf)
Sortie :
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.