Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C++] Was ist floattostr in C??? Ich kriegs nicht raus :( (https://www.delphipraxis.net/55730-%5Bc-%5D-ist-floattostr-c-ich-kriegs-nicht-raus.html)

MisterNiceGuy 26. Okt 2005 00:47


[C++] Was ist floattostr in C??? Ich kriegs nicht raus :(
 
Hi ich versuch grad mich ein bisschen in C++ reinzufuchsen und programmiere mal ganz easy einen Taschenrechner... dachte ich mir...
Auf jedenfall hänge ich jetzt fest. Ich habe 2 Strings, die will ich in Floats umwandeln, addieren oder what ever und dann wieder als CString ausgeben.
Wie wandle ich nun die VariablenTypen um?

Dax 26. Okt 2005 00:49

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
Lies dich mal in die Delphi-Referenz durchsuchenscanf-Docs ein, damit müsste das afair Problemlos gehen.

ripper8472 26. Okt 2005 01:09

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
guck dir strtof() an. einen stl string kannst du zum c string machen mit stlstring.c_str()

lies dir ein cpp tutorial durch. dort wird sowas behandelt.

atoi und strof sind c funktionen, die ein cppler wohl nicht verwenden will.

MisterNiceGuy 26. Okt 2005 09:20

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
Was mich ein bisschen verwirrt ist folgendes:
Gestern abend bin ich auf ein Tutorial f+r den Boreland C++ Compiler gestoßen und darin verwendete der Autor ganz "normal" strtoint etc. Kann es sein, dass verschiedene Compiler andere Funktionen besitzen???

tommie-lie 26. Okt 2005 10:18

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
Zitat:

Zitat von MisterNiceGuy
darin verwendete der Autor ganz "normal" strtoint etc.

Die kommen aus der Borland-RTL und du musst vermutlich irgendwelche Non-ISO-Header einbinden.

Zitat:

Zitat von MisterNiceGuy
Kann es sein, dass verschiedene Compiler andere Funktionen besitzen???

Hat mit dem Compiler nicht viel zu tun. Du kannst ein C-Programm gegen jede beliebige Laufzeitumgebung linken. C++ ist ISO-standardisiert, d.h. in einer Umgebung, die ISO-C++-kompatibel ist, hasts du gewisse Templates und Features zur Verfügung. Inwiefern Borland sich im BCB an den ISO-Standard hält, weiß ich nicht. Aber jeder kann zusätzlich noch eigene Runtimes zur Verfügung steleln. Borland macht das mit seiner RTL (und der VCL), Microsoft macht das mit der MFC. Nur GCC bringt nichts großartig mit, was nicht im Standard enthalten ist.

Ultimator 26. Okt 2005 12:27

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
Falls es dich interessieren sollte, wie ich das ganze ohne die VCL (hab den C++Builder 6) gelöst hab (Ist allerdings kein ANSI-C++):

Code:
gcvt(floatValue, AnzahlDerGewuenschtenZiffernInklusiveDezimalSeparator, StringValue);
Hier der Auszug aus der Hilfe:
Zitat:

char *gcvt(double value, int ndec, char *buf);

gcvt converts value to a null-terminated ASCII string and stores the string in buf. It produces ndec significant digits in FORTRAN F format, if possible; otherwise, it returns the value in the printf E format (ready for printing). It might suppress trailing zeros.
Funktioniert wunderbar bei meinem Programm; hab mir gestern auch nen Wolf gesucht, bis ich das im c-plusplus - Forum gefunden hab :lol:

MisterNiceGuy 26. Okt 2005 13:36

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
Edit: Mit Integern geht es... :)

Hi also ich bin jetzt soweit, dass ich folgenden Code habe:

Code:
 float zahl1;
 float zahl2;
 float ergebnis;

 zahl1 = atof(m_strfirst);

 zahl2 = atof(m_strsecond);

  if (m_stroperator == "+")
    ergebnis = zahl1+zahl2;    
  if (m_stroperator == "-")
    ergebnis = zahl1-zahl2;
  if (m_stroperator == "*")
    ergebnis = zahl1*zahl2;
  if (m_stroperator == "/")
    ergebnis = zahl1/zahl2;

 m_strresult.Format("%d",ergebnis);
 UpdateData(FALSE);
Leider gibt mir das Programm immer als Ergebnis 0 aus, egal was ich tue :( Kann mir da jemand helfen?

Das macht mich grad total fertig, da ich das in Delphi in 10 Sekunden tippen könnte :)

tommie-lie 26. Okt 2005 13:45

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
Zitat:

Zitat von MisterNiceGuy
Code:
 zahl1 = atof(m_strfirst);
 zahl2 = atof(m_strsecond);

Gehe ich recht in der Annahme, daß die beiden C++-Strings sind und keine C-Strings? Falls ja, probier's mal mit m_strfirst.c_str().
Ansosnten würde ich auch gerne wissen von welchem Typ m_strresult ist, string::Format ist in ISO-C++ nicht implementiert.

MisterNiceGuy 26. Okt 2005 18:47

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
ahh ich habs jetzt in einem Tutorial gefunden.

Code:
sprintf(str,"%lf", Ertrag);
Wobei str ein String ist (char str[100];) und Ertrag ein double.

ripper8472 26. Okt 2005 20:09

Re: [C++] Was ist floattostr in C??? Ich kriegs nicht raus :
 
ich will ja nix sagen aber solche fragen solltest du in einem c++ forum stellen. dort sind die leute auf c++ und nicht auf delphi spezialisiert.
und auch compilerabhaengige sachen solltest du dich garnicht einlassen.
dieses gcvt() find ich am perversesten. benutz das bloss nicht!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz