DOBON.NET DOBON.NETプログラミング掲示板過去ログ

整数と小数の見分け方

環境/言語:[環境 windowsxp 使用言語 c# .Net Framewark1.1]
分類:[.NET]

いつもお世話になっております。

数値を扱うシステムを開発しております。
double型で取得したデータが、整数なのか、整数ではないのか
見分ける良い方法はありますでしょうか。

9.1 ならば、9.1のまま
9.0ならば、9としてデータを扱いたいのです。

なにぶん初心者のため、宜しくお願い致します。
if Value - Int(Value) <> 0 then
  '整数ではない
Else
  '整数
End if

では、ダメでしょうか?
■No10608に返信(ポンさんの記事)
> if Value - Int(Value) <> 0 then
>   '整数ではない
> Else
>   '整数
> End if
VBで書かれているので C#にしたものを(大して変わらんけど)
if ( Value != ( int )Value )
{
    // 整数でない
}
else
{
    // 整数
}


ちなみに
string a = System.Convert.ToString( 9.1 );
とすると "9.1" が、
string b = System.Convert.ToString( 9.0 );
とすると "9" が得られます。
こんにちは中です。

はたしてこんな条件でTRUEが得られるのでしょうか?
どんな値を入れるかによりますが、演算結果であればtrueは期待できないでしょう。
大体前提条件がよく分からないのですが、9.1は9.1、9.0は9って言っている時点で浮動小数点としては矛盾だらけです。
最低限"コレだけ丸めたら9になる場合には9と推定する"とか検討しておかないと・・・

------------------------------------------------------
中博俊 MSMVP Visual Studio C# Since 2004/04-2006/03, MCP
http://naka.wankuma.com/
http://naka.wankuma.com/blog/
naka@wankuma.com
>> ポン様、Blue様、中様

ご回答ありがとうございます。
Convert.ToString()で、小数点を丸めたいと思います。
本当に有り難うございました。

DOBON.NET | プログラミング道 | プログラミング掲示板