tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: SINGLE型の切捨てについて
投稿日: 2016/11/09(Wed) 11:03
投稿者SUZUKI
> Single型で正確な数を要求すること自体やめた方がよいかと思いますが
> 希望のことをされるのでしたら
> 切り上げの最低値をSingleで求めIf判定された方が解決しやすいかもしれません。
> 掛け算した時点で誤差の数値を拾ってきてしまうので提示された方法で
> 行うならDecimalに変換してからDecimalで計算してSingleに戻すとうまくいくかも
> しれません。
shuさん回答ありがとうございます
Decimalで統一するというのをやっていませんでした
  Function csp_decimal_syousuu(ByRef dValue As Decimal, ByRef iDigits As Integer, ByRef isw As Integer) As Decimal
        Dim dCoef As Decimal = CDec(System.Math.Pow(10, iDigits))
        Select Case isw
            Case 0
                Return System.Math.Floor(dValue * dCoef) / dCoef
        End Select
    End Function
のようにDecimal に統一した所
1.00401 -> 1.004
1.004   -> 1.004
1.00301 -> 1.003
1.003   -> 1.003 となりました これで色々試して見たいと思います
ありがとうございました

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。