tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: IF文 複数条件判定のバグ
投稿日: 2009/07/31(Fri) 13:12
投稿者よねKEN
>     IF a = 0.0957 then
> ではなく、
>   IF a >=0.0957 AndAlso a < 0.0958 then
> と誤差分を考慮して書かなくてはならないのでしょうか?

そうですね。一般論としては浮動小数点の比較では、

If Math.Abs(a - 0.0957) < 0.0001 then

のように誤差の範囲内かどうかで比較する必要があります。
提示されているコードには書かれていませんが、変数a〜dの値は
If文の前に計算か何かして値を取得していると思いますので、
浮動小数点数を使う限りは、どうやっても誤差の入り込む余地はあります。

SingleやDoubleの代わりにDecimalを使うという手もありますけどね。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。