3

これが明らかである場合は申し訳ありませんが、Google、Stack Overflow、および Ruby のドキュメントを検索しましたが、見つかりませんでした。

精度の高い小数を作成するにはどうすればよいですか? たとえば、IRB では、

irb(main):001:0> 3.14159265358979323846
=> 3.141592653589793

小数の一部を切り捨てます。小数全体を保持するにはどうすればよいですか?

4

2 に答える 2

3

BigDecimal次のクラスを使用する必要があります: http ://www.ruby-doc.org/stdlib-1.9.3/libdoc/bigdecimal/rdoc/BigDecimal.html

BigDecimalは、任意精度の浮動小数点10進演算を提供します。

例:

irb(main):009:0> BigDecimal.new("654.687465465496876516874651463549867651")
=> #<BigDecimal:2da6878,'0.6546874654 6549687651 6874651463 549867651E3',45(54)>
于 2012-09-05T21:09:29.847 に答える
1

これを試して:

require 'bigdecimal/math'
include BigMath
puts PI(70) #You'll get a few more digits above 70, but those will be off. 70 is by no means the maximum.
#=> 0.314159265358979323846264338327950288419716939937510582097494459230781640628620899862802532985155833326733E1
于 2012-09-05T21:40:04.550 に答える