Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zeichenanzahl bei double-ausgabe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.01.2004, 14:48 Uhr
derphilipder



Tach!

Weiss jemand eine Möglichkeit, wie ich die Zeichenzahl eines mit cout ausgegebenen double-Wertes, unter Berücksichtigung aller Fälle wie Vorzeichen, Exponentialdarstellung, Dezimalpunkt, Nachkommastellen usw. ermitteln kann?
Hab mir mal eine Funktion gebastelt, die den Wert per stringstream in einen string einliest und die Stringlänge zurückgibt. Hat soweit auch funktioniert, aber in manchen Fällen dann, aus mir unbekannten Gründen, doch wieder nicht.
Brauche das Ganze für die Ausgabe einer Matrix, wobei die Feldbreite jeweils an das längste Spaltenelement angepasst werden soll.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.01.2004, 13:27 Uhr
derphilipder



Hat wirklich keiner ne Idee?
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.01.2004, 13:34 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Wie hast du das denn versucht?
So ungefähr sollte es doch funktionieren(ungetestet):

C++:
double d = -5.005;
char szBuffer[50];
sprintf (szBuffer,"%f",d);
int i = strlen(szBuffer);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.01.2004, 14:56 Uhr
derphilipder



Ja, so in etwa...nur eben mit Klasse string.

Ich frage mich nur, ob es nicht eine andere Möglichkeit gibt.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.01.2004, 17:03 Uhr
(un)wissender
Niveauwart


Schau dir mal stringstream an.


C++:
std::stringstream sstream;
sstream << mydouble;
std::string mystring = sstream.str();


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: