Here is the Decimal type which does not have this float problem.
Are you sure?
>>> Decimal(0.1)
Decimal('0.1000000000000000055511151231257827021181583404541015625')