WOP_TRUNCATEについて

HOME › フォーラム › 旧サポート掲示板 › WOP_TRUNCATEについて

  • このトピックは空です。
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #1653
    Mori
    ゲスト

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

    現在VERSION2.0Jで開発をおこなっております。
    wrSetDouble関数について質問があるのですが、パラメータとして
    DOUBLE nValueは999.9
    BOOLsbCommaEditはFALSE
    UINTsnDecimalPointは1
    UINTsnnRoundはWOP_TRUNCATE
    UINTsnCharConvはWOP_EDITHNUM
    UINTsnFlagはWOP_EDITFPADDINGZERO
    をセットしている関数で以下の問題が発生しています。
    上記パラメータでウィングレポート出力すると、999.8と出力され0.1ずれた結果が出力されます。
    ちなみに、nValueを999.5とするとウィングレポート上は999.5と出力されます。

    この現象が発生する原因を教えていただけませんでしょうか。

    以上です。宜しくお願いします。

    #1654
    松嶋@ソフトウィング
    ゲスト

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

    ご連絡頂きました現象ですが、浮動小数点の仕様上999.9は表
    現することの出来ない値となり、近似値として999.89999999..
    の様な値が使用されるために発生致します。
    この誤差が問題になる場合はお客様のアプリケーション側にて
    文字列へ変換後にテキストとして出力してください。

    ご迷惑をお掛けして申し訳ございませんが、宜しくお願い致し
    ます。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • フォーラム「旧サポート掲示板」には新規投稿および返信を追加できません。