コンマの後に2桁の整数と6桁の10進数を持つ浮動小数点値を出力したい。 printf("%f", myFloat)
を使用すると、切り捨てられた値が得られます。
これが常にCで発生するのか、それともマイクロコントローラにCを使用している(正確にはCCS)ためだけなのかはわかりませんが、参照では%f
がちょうどそれを取得することを示しています:切り捨てられた浮動小数点数。
私のフロートが44.556677
の場合、最初の2桁の10進数のみ"44.55"
を出力しています。
だから質問は...どうすれば6桁を印刷できますか?
次のようにできます:
printf("%.6f", myFloat);
6は、ドットの後の桁数を表します。
追伸@ cafを修正してくれてありがとう。
printf("%9.6f", myFloat)
は、合計9文字の形式を指定します。ドットの前の2桁、ドット自体、およびドットの後の6桁です。
printf("%.<number>f", myFloat) //where <number> - digit after comma
printf("%0k.yf" float_variable_name)
ここで、k
は、印刷する文字の総数です。 k = x + 1 + y
(ドットの+ 1
)およびfloat_variable_name
は、出力するfloat変数です。
小数点の前にx桁、その後にy桁を印刷するとします。現在、float_variable_nameの前の桁数がxより小さい場合、その前にその数のゼロが自動的に追加されます。
%.6f
を使用します。これにより、6桁の小数が出力されます。
Printfステートメントで%2.6f
の代わりに%f
を使用する必要があります