| doubleを使った場合に近似値で処理されるのがしょうがないというのが プログラマーの常識ということを知れたのは勉強になりましたが
下記プログラムののdoubleをdecimalに修正すれば、正常に動作するみたいなのですが なぜdoubleを使っているのでしょうか これには、何か理由があるのでしょうか。
Public Shared Function ToHalfAdjust(ByVal dValue As Double, ByVal iDigits As Integer) As Double Dim dCoef As Double = System.Math.Pow(10, iDigits)
If dValue > 0 Then Return System.Math.Floor ((dValue * dCoef) + 0.5) / dCoef Else Return System.Math.Ceiling((dValue * dCoef) - 0.5) / dCoef End If End Function
|