■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型の変数に入れると値がおかしくなるの でしょうか。
何か解決策があれば教えていただければ幸いです。
宜しくお願い致します。
|
|