- 締切済み
ruby の BigDecimal を 使った計算
notnotの回答
- notnot
- ベストアンサー率47% (4843/10252)
Rubyの入門書は何か読んでますか? BigDecimalライブラリを使うという話なので、 require "bigdecimal" を書かないといけません。
関連するQ&A
- BigDecimal
頭が混乱してしまったのですが… ずばりBigDecimalを使用したとき、仮数部は最大何桁になるのでしょうか?BigDecimalの内部仕様まで今まで考えたことがなかったのですが… FLOATやDoubleのどはリファレンスにはっきり明記されているのですが… すみませんどなたか助けてください。お願い致します。
- ベストアンサー
- Java
- BigDecimal小数計算について
プログラミングに関する知識が皆無の初心者です。 「はじめてのandroidアプリプログラミング」という本に従って電卓のアプリを作っているのですが、小数点を含む計算ができず、困っております。 演算記号前の数字が小数で、演算記号後の数字が整数であるならば 1.5*2=3 と正しく計算ができますが、 演算記号後が小数点を含む数だと、計算されず演算記号後に入力した数字が 2*1.5=1.5 と、そのまま表示されてしまいます。 小数の表示は if (mOp == R.id.button_decimal || mCalcValue.scale() != 0) { // 小数点を含む場合 BigDecimal bd = new BigDecimal(BigInteger.valueOf(value),mCalcValue.scale() + 1); mCalcValue = mCalcValue.add(bd); } else { // それ以外の場合 // 10倍 mCalcValue = mCalcValue.multiply(BigDecimal.TEN); // 足す mCalcValue = mCalcValue.add(new BigDecimal(value)); } で、 イコールを押したときの動作は public void onEqualClick(View view) { switch (mOp) { case R.id.button_plus: // 足し算 mCalcValue = mPreValue.add(mCalcValue); break; case R.id.button_subtract: // 引き算 mCalcValue = mPreValue.subtract(mCalcValue); break; case R.id.button_multiply: // かけ算 mCalcValue = mPreValue.multiply(mCalcValue); break; case R.id.button_divide: // 現在の値が0ではないかチェック if (!BigDecimal.ZERO.equals(mCalcValue)) { // 割り算 mCalcValue = mPreValue.divide(mCalcValue, 11, BigDecimal.ROUND_HALF_UP); } break; } です。 どこのコードが原因かもわからず、どこを質問文に掲示すればアドバイスいただきやすいかもわからなかったため、質問文に不足あるかもしれません。 すみませんがよろしくお願いします。
- ベストアンサー
- Java
- ruby の Σ計算
ruby で (i=o , 10 ) Σ i ** 2 を計算させるにはどうすればいいのでしょうか? ruby で 読み込んで計算させたいです。 0^2+1^2+3^2+....+2^10=??
- 締切済み
- Ruby
- 計算する度にBigDecimalオブジェクト作成?
javaのDouble型の足し算をするには、BigDecimalを使わなければ 正確な数値が得られない、ということで使用したのですが、 毎回、小数点の足し算をする度に、 負荷のかかるnew宣言でBigDecimalのインスタンスを作りaddメソッドで計算するというはどうも非効率に思ってしまうのです、、; javaでの小数点の足し算は皆さん通常どうやっているのでしょうか?
- ベストアンサー
- Java
- rubyのエラー out of float range の原因
rubyでout of float range と算出されました。 これは計算の桁が大きすぎるためなのでしょうか。 ルビーは計算の桁がメモリーの許す限り無限と聞いたのですが。 どういう意味なのか教えていただきたいです。
- ベストアンサー
- Ruby
- 整数0を値とするBigDecimal
のオブジェクトを作るときに BigDecimal bd=new BigDecimal(0); のようにnewを使わない方法は有るでしょうか?
- ベストアンサー
- Java
- BigDecimalの計算方法に関して
現在Javaの勉強中です。 BigDecimalの計算を以下のように書いて 実行した場合正常に処理されます。 でも、もっとシンプルに書けると思うのですが リファレンスを見ててもさっぱりわかりません 何かご存知の方居ましたらご教授お願いします。 BigDecimal A = new BigDecimal(7); BigDecimal B = new BigDecimal(5); BigDecimal Total = new BigDecimal(0); Total = A.multiply(B);
- ベストアンサー
- Java
- RUBY の 分数の 精度
分数の足し算をしたいのですが。 1.0/3 = 0.33333333333333 の15桁では、精度が足りません。 精度を1000桁にしたいのですがどうしたらいいのでしょうか? 1.0/3 = 0.3333333333333333.....1000桁。
- ベストアンサー
- Ruby
- BigDecimalの比較
例えばBigDecimal型の100.00 100.05 100.10 100.20を比較した時 100.10を基準で考えた場合+-0.05以内ならtrue(100.05の時) +-0.05を超えた場合はfalse(100.00、100.20の時) 効率よく処理するにはどうすればよいでしょうか? 大変お手数ですが宜しくお願い致します。
- 締切済み
- Java