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日 16:42 発信者:suga164
題名:RE(2):PB9.0: Round関数で四捨五入が誤動作!?
Hakofuguさん、こんにちは。
出来ました!
知識不足でした。お恥ずかしい限りです。
ありがとうございました。
>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.