FloatToStr / StrToFloat Abweichung?!
-
Hallöchen
ich fange grad erst an mit VC++ und komme irgenwie nicht weiter... vor ab mal mein Programmcode, etwas abgespeckt:
x = StrToFloat(Edit2->Text); //Eingabe x = x/1000; //Rechnung Edit1->Text = FloatToStr(x); //Ausgabe
wenn ich nun in Edit2 eine 12 eingebe kommt in Edit1 nicht wie erwartet 0,012 heraus, sondern 0,0120000001043081. Warum? Was kann ich tun?
Danke im Voraus!
Psychedelixx
-
Hallo,
VC++?
Das was da du siehst ist die typische float-"Rundung" (wenn man es so nennen kann). Mit FormatFloat kannst du das Ergebnis entsprechend formatieren.
LG
-
ah cool, so funktionierts:
Edit1->Text = FormatFloat("0.0000", x);
nur komisch dass ich solche Probleme in der Konsolenprogrammierung mit float nie hatte...
-
Hallo
Vermutlich weil deine Konsolenausgabe auch schon formatiert wurde. Denn die Ungenauigkeit von float/double wird nicht erst bei der Ausgabe verursacht.
bis bald
akari
-
Dieser Thread wurde von Moderator/in KlausB aus dem Forum VCL (C++ Builder) in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
zwar verschoben aber meiner meinung immer noch falsch, das was er macht ist C++/cli mit .net denn Edit->Text gibts in MFC nicht. Also noch mal verschieben
-
Hallo
Aufgrund eines anderen Threads vom OP glaube ich schon das C++ Builder richtig ist. Dort gibt es Edit->Text. Die Bezeichnung Visual C++ ist vom OP einfach nur falsch gewählt.
bis bald
akari
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum VCL (C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Willkommen zurück.