Think Essentially

計算機テクノロジー全般が好きです

【Rust】与えられた浮動小数点数が整数か確認する

結論

浮動小数点数系列型のtrunc()を使う

概説

truncは、計算機科学の領域において端数処理という意味らしい。以下は公式のtrunc()の説明文。非整数値は、常に0に向かって切り捨てられることがポイントのよう。

Returns the integer part of `self`. 
This means that non-integer numbers are always truncated towards zero.

題目を関数にするならば、以下のようになる

fn is_int(value: f64) -> bool {
    let int_part = value.trunc(); // 浮動小数点数から整数部分を取得
    int_part == value             // 整数部分と元の値を比較
}

補足

Rustの浮動小数点数の扱いに関しては、以下の記事が非常に有用

rsk0315.hatenablog.com

test

test

test