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 ?
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 ?
Est-ce que « long double valeur = 1.L/0.L; », c'est ce que tu appelles une affectation directe ?
Si oui, il y a : long double valeur = 1.L; valeur /= 0.L;
Mais tu peux aussi multiplier std::numeric_limits<long double>::max() par lui-même.
Enfin... j'espère ne pas être à côté de la plaque car je n'ai jamais utilisé tout ça.
Cordialement, -- Olivier Miakinen
Bonjour,
Le 08/11/2012 14:42, Marc Guéguen a écrit :
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 ?
Est-ce que « long double valeur = 1.L/0.L; », c'est ce que tu appelles
une affectation directe ?
Si oui, il y a :
long double valeur = 1.L;
valeur /= 0.L;
Mais tu peux aussi multiplier std::numeric_limits<long double>::max()
par lui-même.
Enfin... j'espère ne pas être à côté de la plaque car je n'ai jamais
utilisé tout ça.
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 ?
Est-ce que « long double valeur = 1.L/0.L; », c'est ce que tu appelles une affectation directe ?
Si oui, il y a : long double valeur = 1.L; valeur /= 0.L;
Mais tu peux aussi multiplier std::numeric_limits<long double>::max() par lui-même.
Enfin... j'espère ne pas être à côté de la plaque car je n'ai jamais utilisé tout ça.
Cordialement, -- Olivier Miakinen
Marc Guéguen
Je te remercie pour ta réponse. Reste le problème du formatage...
"Olivier Miakinen" <om+ a écrit dans le message de news:k7heio$88h$
Bonjour,
Le 08/11/2012 14:42, Marc Guéguen a écrit :
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 ?
Est-ce que « long double valeur = 1.L/0.L; », c'est ce que tu appelles une affectation directe ?
Si oui, il y a : long double valeur = 1.L; valeur /= 0.L;
Mais tu peux aussi multiplier std::numeric_limits<long double>::max() par lui-même.
Enfin... j'espère ne pas être à côté de la plaque car je n'ai jamais utilisé tout ça.
Cordialement, -- Olivier Miakinen
Je te remercie pour ta réponse.
Reste le problème du formatage...
"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de
news:k7heio$88h$1@cabale.usenet-fr.net...
Bonjour,
Le 08/11/2012 14:42, Marc Guéguen a écrit :
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 ?
Est-ce que « long double valeur = 1.L/0.L; », c'est ce que tu appelles
une affectation directe ?
Si oui, il y a :
long double valeur = 1.L;
valeur /= 0.L;
Mais tu peux aussi multiplier std::numeric_limits<long double>::max()
par lui-même.
Enfin... j'espère ne pas être à côté de la plaque car je n'ai jamais
utilisé tout ça.
Je te remercie pour ta réponse. Reste le problème du formatage...
"Olivier Miakinen" <om+ a écrit dans le message de news:k7heio$88h$
Bonjour,
Le 08/11/2012 14:42, Marc Guéguen a écrit :
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 ?
Est-ce que « long double valeur = 1.L/0.L; », c'est ce que tu appelles une affectation directe ?
Si oui, il y a : long double valeur = 1.L; valeur /= 0.L;
Mais tu peux aussi multiplier std::numeric_limits<long double>::max() par lui-même.
Enfin... j'espère ne pas être à côté de la plaque car je n'ai jamais utilisé tout ça.
Cordialement, -- Olivier Miakinen
Olivier Miakinen
Bonjour,
Le 09/11/2012 13:50, Marc Guéguen a écrit :
Je te remercie pour ta réponse. Reste le problème du formatage...
"Olivier Miakinen" <om+ a écrit dans le message de news:k7heio$88h$
Je te remercie pour ta réponse.
Reste le problème du formatage...
"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de
news:k7heio$88h$1@cabale.usenet-fr.net...
[copie intégrale, signature comprise]
Concernant le formatage de la valeur infinie avec std::numpunct, je n'ai
pas la réponse. Mais pour ce qui est du formatage des réponses dans les
news, voici la doc à lire :
<http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html>.