PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
5269 99/02/26 21:04:17 RE(4):切り上げ誤差の件、対処方法がわかりました(たぶん) By M.M
5259 99/02/26 18:19:04 RE(3):PB5.0.03: 少数部を切り上げしたいのですが... By M.M
5245 99/02/26 10:08:51 RE(2):PB5.0.03: 少数部を切り上げしたいのですが... By n.mibu
5241 99/02/25 23:04:12 RE(1):PB5.0.03: 少数部を切り上げしたいのですが... By M.M
5239 99/02/25 20:28:30 PB5.0.03: 少数部を切り上げしたいのですが... By n.mibu

カテゴリ:PowerBuilderの不具合?
日付:1999年02月26日 18:19 発信者:M.M
題名:RE(3):PB5.0.03: 少数部を切り上げしたいのですが...

「n.mibu」さん、こんばんは。

>一応 「Trincate」で検索して参考にさせて頂きますが、当方では「Ceilingに相応する
>自作の外部関数を作成」して対応しようと思います。
>(でも、Truncateがあやしいのはマズイなあ)

えっと、あやしいのはTruncate関数ではなく、データウィンドウの仕様です。
データウィンドウ内の演算は、すべて2進数演算で行われていて、特に「切り下げ」や「切り上げ」
の時に数値誤差が発生しやすくなっているようです。

ちなみに、PowerスクリプトでDecimal型の変数でTrncate関数を使えば、数値誤差の問題はクリア
できます。(Decimal型は10進数なので、計算も10進数で行ってくれるようです)


昨晩コメントしてからいろいろ考えたのですが、Ceilingに該当する関数をSQL文に記述してDBMS側で
演算し、データウィンドウには演算結果だけを表示するという方法はどうでしょうか?
Oracleでは「Ceil」という関数が使えると思います。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

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

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