ostringstream +- Null, +- Unendlich
-
Hallo, ich brauch mal wieder euere Hilfe.
Ich verwende ostringstreams, um floats in Zeichenketten umzuwandeln. Allerdings wird nicht zwischen plus und minus Unendlich, bzw. zwischen +/- 0 unterschieden, was für mich aber wichtig wäre, sondern gar kein Vorzeichen (also implizit +) angezeigt.
Mit den Flags komme ich nicht weiter.Gibt es da einen Weg, das +/- davor gestellt zu kriegen?
Danke.
-
wenn ich dich richtig verstehe, könntest du ja einfach prüfen ob der float wert größer oder kleiner null ist und entsprechend ein + oder - zum ostringstream hinzufügen.
jperl
-
-
Werde ich wohl so machen müssen, jperl, Danke.
TGGC: Bei IEEE754-floats nicht unbedingt, und das weißt du. Held.
-
Da 0 == -0 == +0 wird das mit dem Vergleich aber nicht funktionieren. f'`8k
AutocogitoGruß, TGGC (Was Gamestar sagt...)
-
Mit
std::showposkannst du dir das Vorzeichen anzeigen lassen. Wozu brauchst du die Abfrage für +/- 0?Um auf Unendlichkeit zu prüfen, verwende
std::numeric_limits<float>::infinity().
-
Das mit der Unendlich keit mache ich jetzt so:
if(ret == "Infinity" && fl < 0) ret = "-Infinity";Bei der Null hast du ja Recht, TGGC, da verwende ich dann Nexus Lösung.
Vielen Dank, genau was ich suchte!