C: printf ein Gleitkommawert
Ich drucken möchte einen float-Wert mit 2 ganzzahlige Ziffern und 6 Ziffern nach dem Komma. Wenn ich gerade printf("%f", myFloat)
ich bin immer abgeschnitten Wert.
Ich weiß nicht, ob dies geschieht immer in C, oder ist es nur, weil ich bin mit C für mikrocontroller (CCS um genau zu sein), aber die Referenz, die es sagt, dass %f
bekommen genau das: eine abgeschnittene schweben.
Wenn mein float ist 44.556677
ich bin ausdrucken "44.55"
nur die ersten zwei Dezimalstellen.
Also die Frage ist... wie kann ich meine drucken 6 Ziffern (und nur sechs von Ihnen, nur für den Fall, ich bin mit Nullen nach, oder so)?
InformationsquelleAutor der Frage Roman Rdgz | 2011-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kannst du es so machen:
6 stellt die Anzahl der Ziffern nach dem Punkt.
P. S. Danke @caf für die Korrektur mich.
InformationsquelleAutor der Antwort Beginner
printf("%9.6f", myFloat)
gibt ein format, mit 9 Gesamt-Zeichen: 2-stellig vor dem Punkt, der Punkt selbst, und sechs Ziffern nach dem Punkt.InformationsquelleAutor der Antwort dasblinkenlight
http://www.cplusplus.com/reference/clibrary/cstdio/printf/
InformationsquelleAutor der Antwort Igor Shubin
Hier
k
ist die Gesamtzahl der Zeichen, die Sie erhalten möchten, gedruckt.k = x + 1 + y
(+ 1
für den Punkt) undfloat_variable_name
ist die float-variable, die Sie erhalten möchten, gedruckt.Angenommen, Sie wollen, drucken Sie x vorkommastellen und y stellen nach. Nun, wenn die Anzahl der stellen vor float_variable_name ist weniger als x, dann wird es automatisch voranstellen, dass viele Nullen davor.
InformationsquelleAutor der Antwort rohit
Verwenden
%.6f
.Dies wird drucken Sie 6 Dezimalstellen.
InformationsquelleAutor der Antwort Charlie Brown
Müssen Sie
%2.6f
statt%f
in Ihrem printf-AnweisungInformationsquelleAutor der Antwort Shankar Raju