Wie man c floatzahl ausgeben 0en nach komma unterdrückt werden

Ein Beispiel: float var = 4.3; while (var < 50"%f\n", var); var *= 2.75; } Jetzt bekomme ich die Ausgabe: 4.300000 11.825000 32.518750 ich möchte aber so etwas hier ausgegeben bekommen: 4.3 11.825 32.51875

2 Antworten zur Frage

Bewertung: 4 von 10 mit 1540 Stimmen

Videos zum Thema
YouTube Videos

Wie kann man in C eine floatzahl so ausgeben, dass die letzten 0en nach dem Komma unterdrückt werden?

Die Ausgabe kann wie folgt formatiert werden:
%f -> es wird eine float-Zahl mit standardmäßig eingestellten 5 Nachkommastellen ausgegeben.
%8.4f -> es wird eine float-Zahl ausgegeben mit insgesamt 8 Stellen und 4 davon als Nachkommastellen. Entsprechend werden bei %8.2f nur 2 Nachkommastellen ausgegeben
PS: das Symbol "->" gehört natürlich nicht mit dazu
Meine Antwort war wohl nicht ausreichend. Ich hab hier ein Programm geschrieben, welches die Ausgabe genau so macht, wie Du es wünschst. Ist allerdings etwas komplizierter. Vielleicht gibt es noch eine einfachere Methode. Mal sehen, ob sich noch wer meldet. Aber hier mein Code:
int i,n;
float var = 4.3;
char a,b;
while (var < 50a,"%f",var;i>=0;i--!='0'ii];
else b='\0';
}
printf("%s\n",b);
var *= 2.75;
}
Prinzipieller Ablauf: die float-Zahl wird in eine Zeichenkette umgewandelt. In diesem String werden dann die Nullen "aussortier" und der Rest in einen neuen String geschrieben, der dann letztlich ausgegeben wird. Allerdings handelt es sich bei dem Ausgegebenen Ergebnis nicht mehr um eine Zahl, sondern um eine Zeichenkette. Man könnte diese also nicht mehr verwenden um damit Berechungen durchzuführen.