名前 題名 ▼ Mr.XRAYさん > > つまり,FloatToStr(SimpleRoundTo の結果は,計算結果を正確に反映していると言えます. > > FloatToStr(e) > FloatToStr(f) > > は 179.935 になります. > 既に述べたように,FloatToStr が有効桁数 15 で丸めをするためと > 考えられます. > つまり,今回のサンプルでは,計算結果の違いが 16 桁目以上にあることになります. > 実際に [8078] でそのことを確認しました. > > [System.SysUtils.FloatToStr - RAD Studio API Documentation] > http://docwiki.embarcadero.com/Libraries/XE6/ja/System.SysUtils.FloatToStr > > 一方,SimpleRoundTo は,引数の値としても元の値を用いようとします. > その結果ということになります. > 当然ですが,以下のように,SimpleRoundTo の丸めの位置を小数点 3 桁目にすると > 下図のような結果となります. > > FloatToStr(SimpleRoundTo(e,-3)+#13+ > FloatToStr(SimpleRoundTo(f,-3)); GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link