Ano, o tom, že se čísla chovají v Ruby jako objekty vím a je to věc, která dost zjednodušuje psaní programů. S Fixnum a Bignum je mi to už jasné, tady by problémy nastávat neměly.
Horší to asi bude s těmi floaty. Pokud se to například na architektuře x86 reprezentuje v dvojité přesnosti (ale i v EXTENDED), tak to právě pro "normální život" někdy nestačí, například pro účetnictví. Tady nejde ani tak o přesnosti, jako o problémy s kumulací chyb a nesprávné zaokrouhlování (já vím, že to dá v koprocesoru nastavit, ale programovací jazyky to nevyužívají, resp. si vybírají zrovna tu horší variantu :-). Proto se používá buď speciální datový typ pro měnu (například ve VB currency) nebo celočíselné výpočty s pevně posunutou řádovou tečkou/čárkou (fixed point).
jen tak na okraj: ty hodnoty jsou většinou uložené s plovoucí dvojkovou čárkou, ne desetinou - právě z toho vychází ty chyby, například nelze přesně zapsat "10 haléřů". I když například osmibitová Atárka to tuším pro potřeby BASICu a ROMových FP rutin reprezentovaly právě s desítkovým exponentem :-)