喫茶XRAYトップページ

[スレッド全体
]

[4923] Re:FormatFloatのおかしな動作返信 削除
2011/6/23 (木) 05:53:58 Mr.XRAY
▼ たてぐやさん

>  これだと関数の返り値はそれぞれ35.7と14.6になるはずです。

分かりません!! と言うツッコミは置いていて.
浮動小数点がらみは,いろいろ複雑です.

[890_計算誤差(数値計算の誤差)と多倍長演算]
http://mrxray.on.coocan.jp/Delphi/plSamples/890_CalcError.htm

DEKOさんの言われるような方法で処理するしかないと思いますね.


[4931] Re2:FormatFloatのおかしな動作返信 削除
2011/6/24 (金) 18:17:14 たてぐや
▼ Mr.XRAYさん
▼ DEKOさん

 ありがとうございます。結局うまくいかないので、自前で四捨五入する関数
を作って解決しました。

[4942] Re3:FormatFloatのおかしな動作返信 削除
2011/6/25 (土) 16:08:23 Mr.XRAY
>  自前で四捨五入する関数

そういえば,Delphi 6以降でしたら,SimpleRoundTo関数というのがあります.
でも,私もそうですが,昔から四捨五入の関数つくっていますから,わざわざ
使う人はあまりいないかも知れません.

http://mrxray.on.coocan.jp/Delphi/plSamples/890_CalcError.htm#06

[4943] Re4:FormatFloatのおかしな動作返信 削除
2011/6/26 (日) 17:34:37 たてぐや
▼ Mr.XRAYさん

> 使う人はあまりいないかも知れません.

 四捨五入の関数ははるか昔、BASICで書いたものをそのままPASCALで書き換え
ただけです。小数点以下1桁なら10倍して0.5足して10で割る、という極めて単
純なものです。こういう基本的なものはみんなMyLib.pasユニットにまとめてあ
るので、usesするだけなんですが、FormatFloatにこだわりすぎました。

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