mikrocontroller.net

Forum: PC-Programmierung Float -> AnsiString in C/C++


Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Weiss vielleicht jemand wie ich eine Float Variable in einen AnsiString
umwandeln kann? Gibt es da eventuell einen Befehl?


Mit freundlichen Grüssen

Patrick

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

char dest[/*benötigte Länge*/];

sprintf(dest,"%f",fltvar);

Matthias

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Matthias!!!

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei AnsiString dürfte es sich wohl um den C++-Builder handeln.
Dafür gibt es die Funktion "FloatToStrF".
Einfach mal eingeben, Cursor drauf setzen und F1.

"sprintf(dest,"%f",fltvar);" Geht natürlich auch. Ist aber C.
Mit FloatToStrF kannst Du noch nachkommastellen usw. angeben

Grüße
Andreas

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>"sprintf(dest,"%f",fltvar);" Geht natürlich auch. Ist aber C.
>Mit FloatToStrF kannst Du noch nachkommastellen usw. angeben

Bei [s]printf geht das auch:

printf("%.3f\n", fltvar);
sprintf(dest, "%.3f", fltvar);

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit C++ StringStreams gehts eleganter:

#include <sstream>

float MeinFloat;
char MeinArray[n];
std::stringstream Mein_StringStream;
std::string MeinString;

//In eine c++ String
MeinStringStream << MeinFloat;
MeinStringStream >> MeinString;

//oder einen c-String
MeinStringStream << MeinFloat;
MeinStringStream >> MeinArray;

//Mit
MeinStringStream.precision(n);
//lässt sich noch die Zahl der Stellen begrenzen

Autor: rastlos ratlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
für AnsiStrings geht das am elegantestens wohl so:

AnsiString sMyString;

sMyString.prinf("%f", fZahl);

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß jemand wie man einen AnsiString in ein char umwandelt und zwar
nicht nur für eine ausgabe. Also quasi wandeln??
C++Builder6

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie willst Du einen String (also eine Folge von Zeichen) in ein
einzelnes Zeichen wandeln?

Was soll beispielsweise der Zeichenwert von "Hallo" sein?

@Heinz:
Das soll eleganter sein?

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach Rufus,
das was Heinz schrieb ist nun mal der Standard in C++, ob du das nun
magst oder nicht ist irgendwie ziemlich egal! In jedem Fall ist es
wesentlich sicherer.

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicherer auf jeden fall, bis auf das hier:

> MeinStringStream >> MeinArray;

Oder seh ich da was falsch?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.