www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktion die eine float zahl in einen string umwandelt


Autor: samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
weiss jemand ob es eine funktion gibt die eine float zahl in einen
string umwandelt?
sowie ich sehen kann gibt es diese Funktion in der standardlibary
nicht.
gibt es zusätzliche dateien , die man includieren kann, die solche
funktionen beinhalten?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

sprintf

Matthias

Autor: samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wie?

die beiden Übergabe parameter von sprintf haben als datentyp char*.
kann man dann die float zahl auf char* casten?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

RTFM
&
UAFSE
http://www.cplusplus.com/ref/cstdio/sprintf.html

Matthias heute wortkarg

Autor: Bernhard Walle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispiel:

float f = 3.3;
char string[20];
snprintf(string, 20, "%f", f);

Autor: samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn ich folgendes mache

u32 u;
char *string[20];

sprintf(string,"%u", u);

kommen total falsche werte raus:
wenn z.B. u=521365 war ...steht nach dem sprintf aufruf in string 7
drin...wieso das?
snprintf hab ich bei meinem compiler nicht zur verfügung....obwohl ich
string.h includiert habe

Autor: samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok...och habs hinbekommen:
wenn man

sprintf(string,"%lu", u);

schreibt dann passts

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach samuel,

  char *string[20];

  sprintf(string,"%u", u);

sowas geht aus ganz anderen Gründen in die Hose.
Was denkst Du denn, was string für eine Variable sein mag?

Sieh Dir Deine Deklaration mal genauer an.

Und lies ENDLICH mal ein Buch über C durch!

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sprintf ist die schlechteste Variante.

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
void ftoa(float n, unsigned char decimals, char *str)

  converts the floating point number n to characters in string str.
The number is represented with a specified number of decimals.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

sprintf ist laut ANSI Standard ein Sprachbestandteil von C. ftoa(...)
AFAIK aber keineswegs.

Matthias

Autor: samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau....ftoa gibt es in meienr libary nicht

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.