将 Java float 的字符串解析为 python int

Parse a string of Java float to python int

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

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

然而,调用 float() 是没有必要的。相反,使用:

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

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