分類:[.NET 全般]
.netフレームワーク 1.1
VS2003
ASP.NET(VB)
1 Mod 0.1 が正しく評価できません。
良い方法はありませんか?
Dim diff As Double = _mMaxValue - _mMinValue
Dim multiplier As Integer = CInt(Math.Log10(diff)) - 1
Dim _mStep As Double = 10 ^ multiplier
If _mMinValue Mod _mStep = 0 Then
' そのまま
Else
' Min 調整
End If
というようなコードを書いていますが、
0.1で1の剰余を求めると、0にならず0.1になってしまいます。
Double型の精度の問題だと思いますが、
うまく結果を求めるにはどうしたら良いでしょうか?
|