PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22764 | 06/09/01 16:42:07 | RE(2):PB9.0: Round関数で四捨五入が誤動作!? By suga164 |
22762 | 06/09/01 09:51:48 | RE(1):PB9.0: Round関数で四捨五入が誤動作!? By Hakofugu |
22761 | 06/08/31 21:37:11 | PB9.0: Round関数で四捨五入が誤動作!? By suga164 |
カテゴリ:PowerBuilderの不具合?
日付:2006年09月01日 09:51 発信者:Hakofugu
題名:RE(1):PB9.0: Round関数で四捨五入が誤動作!?
suga164さん、おはようございます。
suga164さんが感じていらっしゃるように、Doubl型を使ったときの精度による誤差だと思います。
変数 a をLong型
変数 b をDec{2}型にして
同じことをやってみてください。
欲しい値が得られると思います。
>double a,b
>long c
>
>// a 数量
>// b 単価
>// c 金額
>
>a = 2550
>b = 9.87
>
>c = round( a * b , 0)
>MessageBox(\"計算結果\", c ,Information!,OK!)
>
>上記の様に記述しますと、
>c = 25,169
>になるはずですが、25,168を返します。
>これは何故でしょうか?
>
>ポイントは、doubleの使い方なのかな・・・?とも感じてますが、
>自己解決できそうにありません。
>ご存じの方がいらっしゃいましたら、アドバイスをお願いいたします。
>
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows XP
DBMS Oracle Net8
Browser InternetExplorer
Server SoftWare
OS Windows 2000
DBMS Oracle8
WebServer IIS
Copyright © 2013 Power Future Co., Ltd.