アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

#1さんの方法だと、負の場合に問題が起きます。


確実に切り捨てるには、

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

とするとよいでしょう。
C99ならtrunc関数が使えるので、modfの代わりに使用してもよいと思います。
    • good
    • 2
この回答へのお礼

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

お礼日時:2007/02/26 11:54

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



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

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

統合開発環境であれば、ヘルプに載っていますよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/02/25 22:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!