From: Robert Brown Date: 2007-07-17T08:34:33+09:00 Subject: Force calculation result to BigDecimal Hi all, I'm doing some complex math which I need to be based on BigDecimal accuracy (not Float). It seems that ruby defaults to Float when there's a mixture of type in there, e.g. Code : 1. irb(main):001:0> require 'bigdecimal' 2. => true 3. irb(main):002:0> a = 5.123 4. => 5.123 5. irb(main):003:0> b = BigDecimal("6.789") 6. => # 7. irb(main):004:0> c = a * b 8. => 34.780047 9. irb(main):005:0> c.class 10. => Float Is there a way I can force a BigDecimal outcome. One way I guess would work is to make sure all args in the calculation are BigDecimal, but that's a bit tiresome. For a start, I'd have to type check each arg and convert to BigDecimal if it was not BigDecimal - that's gotta be slow... On a related note, how do I initalize a BigDecimal from a Float (without converting to string first). How could I extend BigDecimal for this? Thanks, Rob -- Posted via http://www.ruby-forum.com/.