Paul schrieb:
> Hi,
>
> wie kann eine Zeit, die ich in Sekunde bekommen in ms umrechen und mit
> Hilfe von printf mit 4 Zahlen anzeigen
> Beispiel:
> double dInitZeit= 0,031(s);
Gleitkommazahlen werden in Programmiersprachen mit einem PUNKT
geschrieben (amerikanische Schreibweise!)
Das hier, mit einem Komma, compiliert auch. Aber es bedeutet in C etwas
völlig anderes.
> double dZeit =dInitZeit*1000(s);
> Für die Ausgabe möchte ich jedes mal kein komma anzeigen sonder nur
> sZeit mit 4 numerische(z.B. 0031) Werte.
> Ich habe so probiert aber geht nicht.
> printf( "%f", dZeit );
> printf( "%04f", dZeit );
Und was genau bedeutet jetzt 'geht nicht'?
Wenn du keine Kommazahlen haben willst, dann willst du ganze Zahlen
haben. Eine ganze Zahl nennt sich in Programmiersprachen ein Integer. In
C zb ein int. Wenn du also deine double zuerst in einen int umwandelst,
dann sind die Kommastellen automatisch weg.
printf( "%04d", (int)(dZeit + 0.5) );
(Ich geh mal davon aus, dass dZeit nicht negative werden wird, denn dann
müsste man die Rundungskorrektur in die andere Richtung machen. Und ich
geh davon aus, dass deine Zeiten nicht so groß werden, dass sie nicht
mehr in einen int passen. Sonst müsste man zb auf long ausweichen)