2016-12-05 85 views
0

i müssen folgende ErklärungGleitkommazahlen in c

x = 123456.789; 

und Drucken der Gleitkomma-Variablen x mit 3 Ziffern vor dem Dezimalpunkt und zwei Stellen hinter dem Komma konvertieren.

Ausgang

456,78

Was i printf("%6.2f",x);

+0

Was passiert, wenn Sie benutze den Modulo-Operator '%'? – lmiguelvargasf

+0

@Imiguelvargasf wie? – Venkat

+0

Entschuldigung für meinen Fehler, es scheint, dass Sie 'fmod()' mit Floats verwenden müssen, um das Modulo-Operationsergebnis zu erhalten. – lmiguelvargasf

Antwort

4

Gleitkomma-Variablen x mit 3 Ziffern vor dem Dezimalpunkt und zwei Stellen nach dem Komma versucht haben.

Was Sie brauchen, ist Gleitkommazahlen Modulo Rest Funktion fmod

double x = 123456.789; 
double y = fmod(x, 1000); 
printf("%06.2f",y); 

Denken Sie daran, #include <math.h> und kompilieren mit -lm für die Mathematik-Bibliothek, Beispiel:

gcc test.c -o test -lm

+0

Probieren Sie 'printf ('% 3.2f ", 1.234);'. Schlagen Sie "3 Stellen vor dem Komma" vor, verwenden Sie "printf ("% 06.2f ", 1.234);" 6 ist die Mindestbreite. 0 ist die linke Füllung – chux

+0

@chux ja '% 06.2f' ist besser, tks – artm

Verwandte Themen