喫茶XRAYトップページ

[スレッド全体
]

[8097] 記事更新返信 削除
2014/10/12 (日) 21:34:12 Mr.XRAY
[890_計算誤差 ( 数値計算の誤差 ) と多倍長演算]
の,四捨五入関係の記事を更新
http://mrxray.on.coocan.jp/Delphi/plSamples/890_CalcError.htm#06


[8119] Re:記事更新返信 削除
2014/10/15 (水) 19:56:20 Mr.XRAY
「四捨五入」も「放置」か... ?  放置が続くなぁ
まっ,レスの仕方と内容にも問題があるかも知れないので,
しょうがないか...
秋は終りだというのに,なんか空しい...


[8125] Re2:記事更新返信 削除
2014/10/16 (木) 10:37:14 taki
▼ Mr.XRAYさん
> 「四捨五入」も「放置」か... ?  放置が続くなぁ
> まっ,レスの仕方と内容にも問題があるかも知れないので,
> しょうがないか...
> 秋は終りだというのに,なんか空しい...


放置じゃなくて、完治…じゃなくて完了ですね。
SimpleRoundを使おうとしたら、オーバーロードの定義が無いと
叱られました。

まあ、10進演算でも3とか7で割ると割り切れないから
丸め処理の問題は続くのかもしれませんが。


[8126] Re3:記事更新返信 削除
2014/10/16 (木) 16:53:40 Mr.XRAY
▼ takiさん

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

> 放置じゃなくて、完治…じゃなくて完了ですね。

完了ですか... そういうことにしておきますか.

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


ん ?

> まあ、10進演算でも3とか7で割ると割り切れないから
> 丸め処理の問題は続くのかもしれませんが。


わお !! こういうことを忘れていました.いただきま〜す.
これ,記事に追加しておこーとっ !!

ところで,この図いいですね.設計時のフォームが見えて,
結果のフォームが見えて,
背景にコードが見える.
こういうのも気づきませんでした.プレゼンテーションに使えますね.
なるほどねぇ.こういう手もあったか....


[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