Precyzja płynności w rubinie

Piszę program ruby, który używa floatów. Mam problem z precyzją. Na przykład

1.9.3p194 :013 > 113.0 * 0.01
# => 1.1300000000000001

i dlatego

1.9.3p194 :018 > 113 * 0.01 == 1.13
# => false

To jest dokładnie taki rodzaj kalkulacji, jakiej potrzebuje moja aplikacja, aby uzyskać prawidłowe wyniki.

Czy to jest oczekiwane? Jak mam sobie z tym poradzić?