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日 21:04 発信者:M.M
題名:RE(4):切り上げ誤差の件、対処方法がわかりました(たぶん)
「n.mibu」さん、こんばんは。
>>題名にもありますように、数値の少数部について「切り上げ」を行いたいのですが、
>>不正に切上げられてしまいます。
>>具体的には、Number型の2項目 \'suryo\' と \'tanka\' を使用してDWの計算カラムに
>> \'Ceiling(suryo * tanka)\'と記述しているのですが、
>>(中略)
>>ただし、混乱させて申し訳ないのですが、実際に当方で起っている内容は、
>>例3)suryo = 1.2 tanka = 420 のときは \'504\' を返します。(正常)
>>例4)suryo = 1.1 tanka = 420 のときに \'463\' を返します。(正しくは \'462\')
>>
>>です。こうなるとさっぱり原因がわかりません。何か情報がございましたらどうかよろしく
>>お願いします。
アシストHPの「PowerBuilder FAQ」をチェックしたところ、データウィンドウで浮動小数点
演算をする時は、有効桁数を考慮するようにという趣旨の記述がありました。
そこで、データウィンドウに以下の関数を計算カラムにおいてみました。
<誤差が発生する関数>
Ceiling( suryo * tanka )
suryo=1.1 tanka=420 → 463
<誤差が発生しないと思われる関数> 有効桁数を小数点以下2位と仮定
Ceiling( Round(suryo * tanka,2) )
suryo=1.1 tanka=420 → 462
私の環境(NT4.0 + PB5.0.04)では、結果OKでした。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.