to, co widzisz, to repr() decimal.Decimal()
wartość, która może dokładnie reprezentować wartości dziesiętne, funkcja niedostępna dla float
s. Nie ma jednak żadnej utraty użyteczności, jeśli chcesz zobaczyć ładną reprezentację ciągu, powiedzmy do 6 miejsc po przecinku, po prostu sformatuj go tak, jak float , z str lub format !
In [7]: str(decimal.Decimal('0.1'))
Out[7]: '0.1'
In [13]: "{0:0.6f}".format(decimal.Decimal('0.1'))
Out[13]: '0.100000'