C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 91 を表示中)
■54121 / )  VB6.0 Int関数を使用しての切り捨て処理について
□投稿者/ ペケ (3回)-(2010/10/05(Tue) 18:26:51)

分類:[VB6 以前] 

お世話になっております。

タイトルの件について質問させていただきます。

<開発環境>
Microsoft VisualBasic 6.0 SP5

<質問内容>
以下のようなロジックで切り捨て処理を行いました。

Private Sub Main()
  Dim dblValue1 As Double
  Dim dblValue2 As Double
  Dim dblValue As Double
  Dim dblResult As Double
  Dim intDig  As Integer    ’小数点以下有効桁数
  Dim dblX   AS Double
  
  intDig = 4
  dblX  = (10 ^ intDig)

  dblValue1 = 0.06
  dblValue2 = 0.11
  dblValue = (dblValue1 + dblValue2) / 2   ’※@
  
  dblResult = Int(dblValue * dblX) / dblX   ’※A

End Sub

dblResultに返される値として「0.085」が返却される予定でしたが
実行してみると「0.0849」が返却されます。

デバッグ実行すると※Aを実行した時点で「0.0849」が返されるので
Int関数を疑いましたが、Int関数は少数以下を取り除いた整数を返す
だけなので、問題は※A以外にあるのではないかと思っています。

※@の部分を以下のように変更すると※Aの返却値は「0.085」となります。

 dblValue = 0.085

※@のように計算した結果をDouble型の変数に入れると値がおかしくなるの
でしょうか。

何か解決策があれば教えていただければ幸いです。


宜しくお願い致します。


返信 編集キー/


管理者用

- Child Tree -