[C++] double TO string

Mark031969

Grünschnabel
Hallo Forum,

ich benötige eine Funktion, die einen DOUBLE zum STRING konvertiert.
So wie ultoa().

Gibt es das oder muß ich das zu Fuß erledigen?


MfG
Mark
 
moin


Zu welcher Art String willst du denn konvertieren? CString, AnsiString, char-String.......


mfg
umbrasaxum
 
>welcher Art String willst du denn konvertieren? CString, AnsiString, char-String.......
Sorry für meine Unfreundlichkeit. Ansi war schon korrekt.


Gibt es auch die Möglichkeit den DOULE zu einem HEX und dann zu einem String zu konvertieren?


MfG
Mark
 
moin



Ich hab aml folgendes geschrieben:
Code:
int main()
{
	int zahl	=0;
	int reste[10];
	int zaehler	=0;
	int neu		=0;

	cout<< "Hex 2 Dez Umrechner von umbrasaxum\n";
	cout<< "Dez: ";
	cin>> zahl;

	neu = zahl;

	do
	{
		reste[zaehler++] = neu % 16;
		neu /= 16;
	}
	while(neu != 0);

	cout<<"Hex: ";

	for(int l=zaehler-1; l>-1; l--)
	{
		switch(reste[l])
		{
		case 10: cout<<"A"; break;
		case 11: cout<<"B"; break;
		case 12: cout<<"C"; break;
		case 13: cout<<"D"; break;
		case 14: cout<<"E"; break;
		case 15: cout<<"F"; break;
		
		default: cout<< reste[l];
		}
	}

	return 0;
}

Ist halt ne Möglich dezimal in hex umzurechnen. müsstest das dann anstatt es mit cout auszugeben zum AnsiString hinzufügen.


mfg
umbrasaxum
 
Hallo umbrasaxum,

vielen Dank für das Beispiel, aber leider kann mein Borland C++ 5.02
nichts mit cout und cin anfangen.
 
>Doch kann er wenn du iostream mit includierst.
Natürlich, ich glaube ich bin etwas durch den Wind.

Obwohl es funktioniert steige ich nicht durch die Funktionsweise, könntest Du bitte die entscheidenden Dinge kommentiern.
 
moin


Hier mal eine "Anleitung" wie man von Dez in Hex umrechnet:
Code:
Kommen wir nun zur Umrechnung von Dezimalzahlen in die anderen Systeme.
Hierzu gibt es eine Vorgehensweise, die für alle Systeme gleich ist. Man ermittelt
zuerst die Anzahl der Zeichen für das Zielsystem und kann dann gleich loslegen.
Ich wähle hier einfach mal 13677 als Dezimalzahl und rechne diese erst mal in eine
Hexadezimalzahl um. Hier hat das Zielsystem also 16 Zeichen und jetzt kann man
rechnen:


13677:16=854 Rest 13
854:16=53 Rest 6
53:16=3 Rest 5
3:16=0 Rest 3

Jetzt nimmt man die Zahlen, die als Rest übrig geblieben sind und zwar in der Reihenfolge
von unten nach oben und erhält in diesem Beispiel als Ergebnis 3 5 6 13. Diese Zeichen
werden einfach hintereinander weggeschrieben, wobei allerdings die Zahlen von 10 bis 15
nochmals umgesetzt werden müssen; und zwar:
10 als A,
11 als B,
12 als C,
13 als D,
14 als E und
15 als F.
Wenn wir das auf dieses Beispiel anwenden erhalten wir als Ergebnis 356D.
Nehmen Sie doch mal Ihren Taschenrechner und prüfen das Ergebnis nach!

Vielleicht ist dir dann klar was der Code macht, wenn nciht mach ich dir ne genaue Erklärung fertig.


mfg
umbrasaxum
 

Neue Beiträge

Zurück