1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #include <iostream>
#include <sstream>
#include <iomanip>
float reduce(const double nb, const int maxDec)
{
std::ostringstream os;
//convertis le nombre en flux avec le nombre de virgules demandes
//à partir de la on à un flux qui contient le nombre.
os << std::setprecision(maxDec) << std::fixed << nb;
//création d'un flux entrant sur la string du flux précédent
std::istringstream is(os.str());
float val = 0; //variable pour récupérer le chiffre
is >> std::fixed >> val; //extraction à partir du flux entrant, récupération de la valeur en float
return val; //retour de cette valeur.
}
int main()
{
float nb = 0.301029996f;
std::cout << reduce(nb, 5) << std::endl;
return 0;
} |
Partager