通过套接字将float从Python发送到C#

问题描述

我正在用Python计算浮点值,我想将其发送回C#应用程序。

因此,在Python中,我将浮点数转换为字节数组,并像这样发送:

flaottoByte = struct.pack('!d',myFloat)
conn.send(flaottoByte)

在C#客户端上,我收到字节数组,并想将其转换回浮点数:

byte[] bytes = new byte[100];
int idxUsedBytes = client.Receive(bytes);
float res = BitConverter.ToSingle(bytes,0);

当我在转换之前在Python中打印浮点数时,它看起来像这样:

0.003890838631358603

但是在我的客户方面,我的浮动资产目前是这样的:

-0.000000000101606

这似乎应该是非常基础的,但是我不知道为什么这不起作用。为了进行测试,我将我的字节数组转换回直接在Python中浮动,然后得到了以下结果:

print(struct.unpack('!d',floatToByte))
>>>(0.003890838631358603,)

那么也许我的Python方面出了问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)