Comment Comment by philh Someone pointed out that this isn't correct, and then deleted their comment. (?)I now think the behiviour I ascribed to print, is actually what repr does. I'm not sure about print, but I guess it is just rounding to a certain number of places. >>> from decimal import Decimal >>> Decimal(0.1+0.2) Decimal('0.3000000000000000444089209850062616169452667236328125') >>> Decimal(0.3) Decimal('0.299999999999999988897769753748434595763683319091796875') >>> Decimal(0.300000000000000000000000000001) Decimal('0.299999999999999988897769753748434595763683319091796875') >>> print 0.300000000000000000000000000001 0.3 >>> repr(0.300000000000000000000000000001) '0.3' >>> D(0.30000000000000004) Decimal('0.3000000000000000444089209850062616169452667236328125') >>> repr(0.299999999999999988897769753748434595763683319091796875) '0.3' >>> repr(0.30000000000000004) '0.30000000000000004' >>> print 0.30000000000000004 0.3 parent philh 11 years ago
I now think the behiviour I ascribed to print, is actually what repr does. I'm not sure about print, but I guess it is just rounding to a certain number of places.