喫茶XRAYトップページ
[
スレッド全体
]
[4923]
Re:FormatFloatのおかしな動作
返信
削除
2011/6/23 (木) 05:53:58
Mr.XRAY
▼ たてぐやさん
> これだと関数の返り値はそれぞれ35.7と14.6になるはずです。
分かりません!! と言うツッコミは置いていて.
浮動小数点がらみは,いろいろ複雑です.
[890_計算誤差(数値計算の誤差)と多倍長演算]
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
890_Calc
Error.
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/
plSample
s/
890_Calc
Error.
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