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'