みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

小数点切捨て表示

printf(printf以外でもOKです)にて浮動小数点を画面に表示するときに、小数点第3位以下を切り捨てて表示したいのですが、書式指定等をどのように指定すればよいでしょうか。
回答よろしくお願いいたします。

投稿日時 - 2007-02-25 21:43:55

QNo.2783874

すぐに回答ほしいです

質問者が選んだベストアンサー

#1さんの方法だと、負の場合に問題が起きます。
確実に切り捨てるには、

double x;
...
modf(x*100, &x);
printf("%.2f\n", x/100);

とするとよいでしょう。
C99ならtrunc関数が使えるので、modfの代わりに使用してもよいと思います。

投稿日時 - 2007-02-26 11:25:42

お礼

そうですね、負の値だと問題ですね。
回答していただきありがとうございました。
modfを使わせていただきます。

投稿日時 - 2007-02-26 11:54:00

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

変数 a を出力する場合の例です。

printf("%.2f",a-0.005) で大丈夫です。

ここで、 .2 は少数以下 2桁まで出力することを意味します。
この場合、3桁目が四捨五入されるので、 0.005 を減算することにより
 「切り捨て」にしています。

統合開発環境であれば、ヘルプに載っていますよ。

投稿日時 - 2007-02-25 22:00:25

お礼

早速の回答本当にありがとうございました。
参考になりました。使わせていただきます。

投稿日時 - 2007-02-25 22:26:37

あなたにオススメの質問