Konvertieren von Pythons vom Typ Decimal () in ein INT und einen Exponenten

Ich möchte den Decimal () -Datentyp in Python verwenden und ihn in eine Ganzzahl und einen Exponenten konvertieren, damit ich diese Daten mit voller Genauigkeit und Dezimalsteuerung an einen Mikrocontroller / eine SPS senden kann.https://docs.python.org/2/library/decimal.html

Ich habe es zum Arbeiten gebracht, aber es ist hackisch; kennt jemand einen besseren weg? Wenn nicht, welchen Weg würde ich gehen, um selbst eine niedrigere "as_int ()" - Funktion zu schreiben?

Beispielcode:

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

Für diejenigen, die keine SPS programmiert haben, besteht meine Alternative darin, ein int zu verwenden und den Dezimalpunkt in beiden Systemen zu deklarieren oder einen Gleitkommawert zu verwenden (den nur einige SPS unterstützen) und der verlustbehaftet ist. Sie können also sehen, warum es fantastisch wäre, dies zu tun!

Danke im Voraus!