- 締切済み
ruby の BigDecimal を 使った計算
ruby の BigDecimal を 使った計算 をしたいです。 そこで 1/7をBigDecimalでどうやって計算するのか見せてほしいです。 精度を1000桁でお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
回答No.5
Rubyの入門書は何か読んでますか? BigDecimalライブラリを使うという話なので、 require "bigdecimal" を書かないといけません。
- notnot
- ベストアンサー率47% (4900/10358)
回答No.4
>”1”と”7”のところが青くなりました。 意味がわかりません。 結果は望み通り表示されましたか?
- koko_u_u
- ベストアンサー率18% (216/1139)
回答No.3
>puts (1.0 / 300)**600 >これを計算させると。0.0になってしまいます。 そうでしょうね。
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
簡単には、数値をすべて BigDecimal("1",1000) のように値と有効桁数で表して、あとは普通に計算します。 big1=BigDecimal("1",1000) big7=BigDecimal("7",1000) puts big1/big7 きちんとやるにはマニュアルを参照してください。マニュアルを理解するには「有効数値とはどういうことか」の知識が要りますが、そのあたりは大丈夫ですよね。 http://www.ruby-lang.org/ja/man/html/BigDecimal.html
質問者
補足
最後に、この文章をルビーで計算したら ”1”と”7”のところが青くなりました。 これは何か設定が必要なのでしょうか?
- koko_u_u
- ベストアンサー率18% (216/1139)
回答No.1
何がわからないかをもっと具体的に補足にどうぞ
質問者
補足
puts (1.0 / 300)**600 これを計算させると。0.0になってしまいます。 これを1000桁まで計算させたいです。
補足
big1=BigDecimal("1",1000) big7=BigDecimal("7",1000) puts big1/big7 これを計算させましたが、NoMethodErrorとなり表示されませんでした。