Seite 1 von 1

double in char[] konvertieren

BeitragVerfasst: Do 30. Jun 2011, 20:07
von UserXXX
Tag zusammen,

ich hab vor wenigen Tagen angefangen mit dem Casio fx-9860G SDK zu programmieren und will jetzt eine als double vorliegende Zahl in einen char[] konvertieren um ihn ausgeben zu können, bei der Suche hab ich hier in den Foren folgenden Beispielcode gefunden, der eine Zahl in eine Zeichenkette konvertieren soll:

Code: Alles auswählen
char ctest[4];
sprintf(ctest, "%d", 123 );
locate(1,1);
Print((unsigned char*)ctest);


Der Code kompiliert auch, aber wenn ich dann das Addin starte bekomme ich folgenden Fehlerhinweis:

System ERROR
REBOOT :[EXIT]
INITIALIZE:[EXE]
TLB ERROR!!
TARGET=00002B38
PC =00000004

Was mache ich falsch?

Danke schon mal im Voraus,
UserXXX

Re: double in char[] konvertieren

BeitragVerfasst: Fr 1. Jul 2011, 10:18
von Paul94
Ich habe damals diese Frage gestellt und von SImon den von dir aufgeführten Code bekommen. Ich hatte damals auch das gleiche Problem wie du. Du musst, wenn du die Funktion sprintf verwendest neben der fxlib.h auch stdio.h mit einbinden. Dann gehts.

Paul

Re: double in char[] konvertieren

BeitragVerfasst: Fr 1. Jul 2011, 11:35
von UserXXX
Danke für die schnelle Antwort, funktioniert, aber wenn ich jetzt eine double konvertieren möchte, bspw. 123.456 gibt er mir noch drei Nullen mit aus, kann ich das irgendwie verhindern oder muss ich den char[] nachträglich bearbeiten?

Der Code den ich zum konvertieren verwende lautet:
Code: Alles auswählen
char ctest[4];
sprintf(ctest, "%f", 123.456 );
locate(1,1);
Print((unsigned char*)ctest);


Und die Ausgabe:
123.456000

UserXXX

Re: double in char[] konvertieren

BeitragVerfasst: So 3. Jul 2011, 18:46
von UserXXX
Hab meinen Fehler gefunden, falsches Formatierungszeichen :D

%i int
%c char
%f double, es werden immer 6 Nachkommastellen mit ausgegeben (man kann das verändern indem man hinter dem "%" angibt wieviele Stellen man haben möchte, nach diesem Schema: Vorkommastellen.Nachkommastellen z.B. %8.2f)
%g double, es werden so viele Nachkommastellen angezeigt, wie vorhanden sind

Nur eine kleine Zusammenstellung, mehr dazu hierhttp://home.fhtw-berlin.de/~junghans/cref/FUNCTIONS/format.html

UserXXX