PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23990 14/05/16 10:26:13 RE:PB12.5: long型加算値の誤差 By asano01
23989 14/05/16 10:26:26 PB12.5: long型加算値の誤差 By asano01

カテゴリ:スクリプトの記述
日付:2014年05月16日 10:26 発信者:asano01
題名:PB12.5: long型加算値の誤差

こんにちは。

一度datawindowのカラムの値をgetitemnumber()して変数に加算
その変数を別のdatawindowのカラムにセット、DB更新すると1円の誤差が生じることがあります。
原因がわかりませんので、ご教授願います。

以下スクリプト----------------------------------
Long l_Zei

l_Zei = 0
For l_Row = 1 To dw_1.Rowcount()
  l_Zei = l_Zei + dw_1.GetItemNumber(l_Row,"消費税_明細")
Next

dw_2.SetItem(1,"消費税_合計",l_Zei)
----------------------------------

dw_1の消費税_明細の集計値dw_2の消費税_合計の値がたまに1円違います。
dw_1は更新済みのDBをretrieveしています。
DBはoracle 11gで消費税_明細、消費税_合計 どちらもNUMBER(9,0)です。
具体例
明細1行目 消費税_明細 242円
明細2行目 消費税_明細 400円
消費税_合計 641円

常に起こるわけではないので非常に困っています。
よろしくお願いいたします。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.