2012年2月9日木曜日

doubleの精度



久しぶりにeclipseなぞ起動してシミュレーションを書く.
どうも思ったとおりの結果にならなくて,数値計算の誤差の影響を疑う.今までdoubleでやっとけば困ることはなかったのだが...

厳密にやってみよう!ということで調べてみると,BigDecimalBigDecimal (Java 2 Platform SE 5.0)を使えば丸め誤差を任意に取り扱えるとのこと.

ちょっと書いてみるが,四則演算をメソッド使って書かないといけないのでものすごい面倒くさい.今までdoubleで書いてたところを気合で書き直しても絶対ミスあるし.書くのもデバッグもかなり面倒くさい.金融系はこんな風なんだろうか.これは大変だ.

迷ってみたが書き直した.コンパイルは通ったが除算の精度指定を適当に書いたので期待通りにはならず.もうちょっと勉強が必要.

なんかdoubleの倍とか3倍とかの精度でやってくれる基本データ型はないんですか!

Groovyは標準でBigDecimalだそうで,手をだそうか検討中.





0 件のコメント:

コメントを投稿