Bonjour,
J'utilise une classe d riv e de std::numpunct pour le formatage des nombres,
d finie comme suit (en simplifi pour aller l'essentiel)
class owner_defined_facet : public std::numpunct<char> {
virtual std::string do_grouping() const { return "\03"; }
virtual char do_thousands_sep() const { return ' ';}
virtual char do_decimal_point() const { return ',';}
};
Ensuite, je fais
std::locale the_one(std::locale(),owner_defined_facet());
std::basic_ostringstream<char> *ossPtr=new std::basic_ostringstream<char>;
ossPtr->imbue( the_one);
// et pour crire dans le flux le nombre d
ossPtr->operator<<(d);
// avec ceci pour r cup rer la valeur
ossPtr->str();
Mon probl me, a plante avec std::numeric_limits<long double>::infinity()
comme valeur de d
Et a fonctionne si je supprime le s parateur des milliers comme ceci
virtual std::string do_grouping() const { return "\0"; }
Est-ce que vous voyez o est le probl me ?
Une autre question : comment un nombre se voit affecter la valeur
std::numeric_limits<long double>::infinity(),
si ce n'est pas par affectation directe ?
Merci bien.