質問

私は、時々3つの場所件まで、時にはそれが小数点以下2桁件まで切り上げ、%gで書式指定子としてprintf()を使用していますが4箇所件までsomeimes ...それはそうか?

実際に、我々は浮動小数点数の代わりに%gまたは%f%eを使用する必要がありますどこ?

役に立ちましたか?

解決

%g書式指定子が%fが行うのと同じようにその丸め、しかし%f4.234000につながる場合、%g4.234を後続のゼロを省略して表示します行います。

%gそれは大きめ数が12345.6として印刷される一方で、いくつかの数字は、1.235e04として印刷されていることを、あなたの出力形式で、最も理にかなっているときに使用する必要があります。

他のヒント

自動的%gは、ハンドヘルド計算機が行うのと同じように可能な限り多くの情報として表示する試みにおいて、値に応じ%e%fを用い間に「フリップ」。 また、%g後続ゼロと小数点に含まれていない。

%f変換については、「精度」は、小数点の後にの桁数であり、%gことはの重要の桁数である。
デフォルトの精度は、どちらの場合も6である。

printfのマニュアルのから:

"double引数はスタイルのために、FまたはE(またはFまたはEに変換され、               Gコンバージョン)。精度は有効桁数を指定します。精度が欠けている場合は、6桁の数字が与えられています。               精度がゼロである場合には、Eが使用されている1スタイルとして扱われます               その変換からの指数は、より-4以上小さい場合               以上または精度に等しいです。末尾のゼロから削除されます               結果の小数部分。小数点にのみ表示されます               それは、少なくとも1つの数字が続いている場合。 "

私は「RTFM」に意味するものではありませんが、あなたはおそらくあなたが精度と長さを制御する上で、マニュアルのセクションで探しているものを見つけることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top