喫茶XRAYトップページ

[スレッド全体
]

[8127] Re4:記事更新返信 削除
2014/10/16 (木) 19:05:43 taki
▼ Mr.XRAYさん

> あっ,チョンボだ.チョンボ.TBcd 使ってる (笑い)

はい。マスターのおかげでDelphiでBCDが使えることを知りました。
あ、Delphi XE4 Starter ですが。

> > SimpleRoundを使おうとしたら、オーバーロードの定義が無いと
> > 叱られました。
>
> ん ?
>


SimpleRoundはまだTBcdには対応していないのだと思います。

SimpleRoundが使えないので中断していた誤差の検証ですが…。

数値を数字に変換するFormatBcdを使っているので、FloatToStr同様に
本当に179.935000…かは疑わしい。
そこでシンプルに等号を使って比較してみました。

これで、TBcdを使った方は演算での誤差は無い事がわかります。


[8128] Re5:記事更新返信 削除
2014/10/16 (木) 20:07:53 Mr.XRAY
▼ takiさん

> これで、TBcdを使った方は演算での誤差は無い事がわかります。

なるへそ.BCD 演算で確認するというわけですか.
これも何かの時にレスで使えますわ.

> SimpleRoundが使えないので中断していた誤差の検証ですが…。

確認していませんが,SimpleRountTo に相当するのは,BCD 演算では,
多分,

[FmtBcd.NormalizeBcd]
http://docwiki.embarcadero.com/Libraries/XE7/ja/Data.FmtBcd.NormalizeBcd

[FmtBcd.BCDRoundTo]
http://docwiki.embarcadero.com/Libraries/XE7/ja/Data.FmtBcd.BCDRoundTo

あたりかも知れません.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82