- - PR -
繰り返し処理について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-02-26 14:22
VB2005 で以下のコードを実行したところ、
Private Sub test() Dim i As Double = 0.0001 For a As Double = 0.0001 To 1 Step 0.0001 i = i + 0.0001 Next MessageBox.Show(i) End Sub 結果が 1.00009999999991 となってしまいます。 単位は0.0001なので、この結果が理解できません。 何がいけないのでしょうか? |
|
投稿日時: 2009-02-26 14:26
期待する値がほしいなら、double では駄目です。
コンピュータの実数演算と誤差に関して調べてみてください。 |
|
投稿日時: 2009-02-26 20:44
お返事ありがとう御座います。
誤差 vb net double で検索してところ Decimal型を使えば良いことがわかりました。 かなり、常識的なことだったんですね。 ありがとう御座いました。 |
1