掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
1.0365の2乗を正しく計算するには? (ID:147525)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こちらは、VB2008ですが、確かにイミディエイトウインドウで ?1.0365D ^ 2.0D で同じ現象になります。 ただし、これは結果をDoubleで評価しているのでしょう。 例えば、以下方法ではメッセージボックスの表示は1.07433225ですが、cの値をウォッチすると1.0743322499999999になります。 Dim a As Decimal = 1.0365D Dim b As Decimal = 2D Dim c As Double = a ^ b MsgBox(c) ただし、以下の場合は、メッセージボックスの表示も1.07433225で、cの値をウォッチしても1.07433225Dとなります。 Dim a As Decimal = 1.0365D Dim b As Decimal = 2D Dim c As Decimal = a ^ b MsgBox(c) つまり、どこかでDoubleに変換した計算が含まれているのではないでしょうか。 ソースが複雑とのことなので、可能性がありそうですが、コードを見ないと何とも言えません。 あと、四捨五入を行っているとのことですが、どのような方法で行っているのでしょうか? もっとも、1.0365の2乗の精度に小数点以下8桁を求めていますが、1.0365の数値の精度が小数点以下8桁でなければ無意味であることは理解できていますか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.