通过套接字将浮点从Python发送到C#over

2024-10-02 00:28:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python计算一个浮点值,我想把它发送回我的C#应用程序

因此,在Python中,我将float转换为bytearray,并按如下方式发送:

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

在我的C#客户端,我收到bytearray并希望将其转换回float:

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

在转换之前,当我在Python中打印浮点值时,它如下所示:

0.003890838631358603

但在我的客户方面,我目前的浮动是:

-0.000000000101606

这感觉它应该是超基本的,但我不明白为什么这不起作用。为了进行测试,我在Python中将bytearray直接转换回float,结果如下:

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

也许我的Python方面出了问题


Tags: send应用程序客户端newbytes方式bytefloat

热门问题