Если у меня уже есть decimal.Decimal, я могу проверить d.as_tuple().digits и d.as_tuple().exponent.
decimal.Decimal
d.as_tuple().digits
d.as_tuple().exponent
Но если у меня есть цифры и показатель степени, как я могу эффективно построить десятичную дробь?
Из документации Decimal :
Decimal
Если значение является кортежем, оно должно иметь три компонента: знак (0 для положительного или 1 для отрицательного), a кортеж из цифр и целочисленный показатель. Например, Decimal((0, (1, 4, 1, 4), -3)) возвращает Decimal('1.414').
Decimal((0, (1, 4, 1, 4), -3))
Decimal('1.414')