掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
小数点以下第3位までを保持する型は何ですか (ID:88470)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
個人的には、1000倍してから演算するだけでも、 誤差をある程度抑えられるような気がしますけど。 丸め誤差の話はこのサイトの過去ログでも何回かでてますね。 厳密な計算が必要なら、自分で分数処理しましょうって事で。(汗) http://madia.world.coocan.jp/vb/vb_bbs2/200407_04070172.html でも今回の場合、そこまで厳密な計算が必要なら、元の切削データ自体を Excelに "文字列" として渡してから、Excel側でセル書式を数値型にし、 あとからExcelのワークシート関数等で演算させた方が安全かも知れない。 VB/VBAと違って、データ型とか有効桁数の問題とかを考えなくてすむから。 VB6だと、P-Codeコンパイルか最適化ネイティブコンパイルかで 結果が変わる事もあるみたいだからねぇ。 > WindowsXPの丸めの仕様はSP1で変更されています。 > (この関係でSP1適用必須としたアプリは数知れず・・・) > http://support.microsoft.com/default.aspx?scid=kb;ja;418691 このURLは、 > [Windows XP 環境への既存アプリケーションの移行] - [数値の「丸め」処理に関する問題] > http://www.microsoft.com/japan/technet/prodtechnol/winxppro/deploy/exappmigratoxp.mspx からもリンクされていますね。 補足に補足すると、Format関数の丸めについては、 OLEAUT32.DLL が v2.40系以下またはv3.50.5016以上ならば、四捨五入。 それ以外だと、銀行型丸めになるみたいです。 ついでに書くと、OLEAUT32.DLL のバージョンによるVBの動作の 違いというのは、他にも幾つかあるらしいです。 今回の丸めの話とは関係ないけど、環境の違いには気をつけましょうという事で紹介。 http://madia.world.coocan.jp/vb/vb_bbs2/200310_03100018.html http://www.gj.il24.net/~nakasima/vb/trap/#VBTRAP19
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.