Forum: PC-Programmierung Formatierungs-Flag in C


von Peter (Gast)


Lesenswert?

Hallo zusammen,

ich möchte in meinem C-Programm eine Zahl vom Typ "double" in einen
ASCII-String umwandeln. Zur Zeit mache ich dies wie folgt:

double    zahl;
char[20]  string;

sprintf(string,"%f",zahl);

Das funktioniert zwar, aber der String zeigt immer viele
Nachkommastellen die messtechnisch unsinnig sind.

Frage: wie kann ich der Funktion "sprintf()" mitteilen, dass ich z.B.
nur eine einzige Nachkommastelle benötige? Geht es mit
Formatierungs-Flags?

Danke für eure Tips!!!

Grüße Peter.

von David Otto (Gast)


Lesenswert?

mit sprintf(string,"%.1f",zahl); geht das.
mehr dazu unter
http://cppreference.com/stdio/printf.html

von Christian Schifferle (Gast)


Lesenswert?

oder probier mal

sprintf (string, "%g", zahl);
Da werden dir soviele Kommastellen ausgegeben, die nötig sind, um die
Zahl einigermassen korrekt darzustellen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.