将一串Java float解析为python int

时间:2015-04-02 17:50:52

标签: java python sockets floating-point int

我有套接字在java和python之间以字符串格式发送数据。 python客户端在字符串中接收浮点数,例如data_in = "[F@5cf0ac6e",然后尝试将它们转换为value = int(float(data_in[1:]))的整数。但是python返回错误ValueError: could not convert string to float: F@5cf0ac6e。如何在Python中将java float值赋予整数?谢谢!

1 个答案:

答案 0 :(得分:0)

如果data_in的前三个字符与十六进制数字字符串无关,则切片应为data_in[3:]。这将忽略[F@个字符,只需转换5cf0ac6e

但是,无需拨打float()。相反,使用:

value = int(data_in[3:], 16)

因为转换为整数,任何浮点信息都会丢失。 16 int()参数是必需的,因为您从基数16(十六进制)转换。