我想在python中使用Decimal()数据类型,并将其转换为整数和指数,以便可以将数据发送到具有完全精度和十进制控制的微控制器/ plc。https://docs.python.org/2/library/decimal.html
我已经开始使用它了,但是它有点黑。有谁知道更好的方法?如果不是这样,我自己将采用哪种方式编写较低级别的“ as_int()”函数?
示例代码:
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
对于那些没有编程的PLC的人,我的替代选择是使用int并在两个系统中声明小数点,或者使用浮点数(仅某些PLC支持)并且有损。这样您就可以知道为什么能够做到这一点很棒!