Cómo convertir pitones tipo Decimal () en un INT y exponente

Me gustaría usar el tipo de datos Decimal () en python y convertirlo a un entero y exponente para poder enviar esos datos a un microcontrolador / plc con total precisión y control decimal.https://docs.python.org/2/library/decimal.html

Lo tengo para trabajar, pero es hackish; ¿Alguien sabe una mejor manera? Si no, ¿qué camino tomaría para escribir una función de nivel inferior "as_int ()"?

Código de ejemplo:

from decimal import *
d=Decimal('3.14159')
t=d.as_tuple()
if t[0] == 0:
    sign=1
else:
    sign=-1

digits= t[1]
theExponent=t[2]
theInteger=sign * int(''.join(map(str,digits)))

theExponent
theInteger

Para aquellos que no han programado PLC, mi alternativa a esto es usar un int y declarar el punto decimal en ambos sistemas o usar un punto flotante (que solo algunos PLC admiten) y es con pérdida. ¡Entonces puedes ver por qué ser capaz de hacer esto sería increíble!

¡Gracias por adelantado!

Respuestas a la pregunta(4)

Su respuesta a la pregunta