なんちゃってプログラマーの勉強部屋

自分が学んだ諸々を備忘録的に公開します。

整数と小数との判別

今までプログラムを組んでて、特に使う必要性を感じなかったのだが、調べてみて納得してしまったので、扱うことにした。

一般に小数では、切り上げと切り捨てによる整数化することができると思うのだが、切り上げ、つまり ceil() と切り捨て floor() を使うと、整数なら一致するはずだが、小数の場合、切り上げしたものと切り捨てしたものの間で 1 の差が出ることになる。なので、

    if(ceil(x) == floor(x))
        printf("%f は整数です。\n", x);
    else
        printf("%f は整数ではありません。\n", x);

とすることで、整数と小数が分けられるという。
後で、小数を分数に直す処理についても書きたいと思う。