【初心者】Java質問・相談スレッド123【歓迎】at TECH
【初心者】Java質問・相談スレッド123【歓迎】 - 暇つぶし2ch848:デフォルトの名無しさん
09/02/18 21:55:11
浮動小数点演算について質問です。
例えば単純な引き算で、1.0 - 0.8 = 0.19999・・ となってしまいますが
これを解決するのに BigDecimalを使うというのをネットで見つけました。
でも単純な引き算を行うのにも以下のようにどのような演算をしてるのがわかり難くなってしまいました。
new BigDecimal(String.valueOf(1.0)).subtract(・・・)

浮動小数点演算で丸めがおこらないようにするには
このようなわかり難いコーディングがデフォなのでしょうか?
何か良い方法がありましたら教えてくださいm(_ _)m

849:デフォルトの名無しさん
09/02/18 23:15:32
>>848
多数派:誤差があっても気にしない。
神経質な業界:言語自体、十進演算をする実装のものを選ぶ。
科学技術:誤差込みで計算した上で、きちんと誤差管理する。
ってところかなあ。

850:デフォルトの名無しさん
09/02/18 23:18:13
>>843
質問しといておまえは何様のつもりだ?

851:デフォルトの名無しさん
09/02/18 23:40:25
>>848
あくまでJavaだけしか使えないなら
URLリンク(eval.dev.java.net)
みたいに計算式をパースしてやる手法ぐらいしか知らん。

852:デフォルトの名無しさん
09/02/18 23:45:46
つかったことないけど
new BigDecimal("1.0").subtract(・・・)
てすればいいんじゃないのかな?

853:デフォルトの名無しさん
09/02/18 23:46:19
普通はDecimalFormatかFormatterを使う。

854:デフォルトの名無しさん
09/02/18 23:53:54
>>848
必要な桁で丸めるとか、
あらかじめゲタを履かせる(10倍して演算後、10で割る)とか。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch