BigDecimal em 1,8 vs. 1,9

Quando atualizando para o ruby 1.9, tenho um teste de falha ao comparar os valores reais esperados x reais para umBigDecimal é o resultado da divisão de um flutuado

expected: '0.495E0',9(18)
got:      '0.4950000000 0000005E0',18(27)

googling para coisas como "precisão de rubi bigdecimal" e "mudanças ruby 1.9 de bigdecimal" não está me levando a lugar nenhu

ComoBigDecimal mudança de comportamento de @ no ruby 1.9?

update 1

> RUBY_VERSION
=> "1.8.7"
> 1.23.to_d
=> #<BigDecimal:1034630a8,'0.123E1',18(18)>

> RUBY_VERSION
=> "1.9.3"
> 1.23.to_d
=> #<BigDecimal:1029f3988,'0.123E1',18(45)>

O que significa 18 (18) e 18 (45)? Precisão, imagino, mas qual é a notação / unidade?

update 2

o código está sendo executado:

((10 - 0.1) * (5.0/100)).to_d

Meu teste espera que isso seja igual (==) a:

0.495.to_f

Este passou em 1.8, falha em 1.9.2 e 1.9.3

questionAnswers(4)

yourAnswerToTheQuestion