我对字符串有一点问题。字符串看起来像这样:
A/46\-54.67/48\-6.94/52\2.41/54\0.00/38\-0.18/34\0.06/32\-27.22 (...)
这是来自 UDP 请求的答案。请求就像: R/46/48(...)/32(...) ,这意味着:给我 #46,#48 的值...答案如上所示。
目标:
最后,我只希望每个请求的特定值作为字符串中的双精度值。
我最喜欢的是带有 3(或 2)个参数的课程。第一个参数将是它自己的字符串,第二个参数是字符串内的位置(如 46\ 之后的值)。并且,如果需要,三分之一作为值的结尾,如 /。它返回一个包含值的数组。
(对我来说不是一个真正的解决方案:我只能一次请求 Value,所以答案会更容易处理。问题,如果每次必须做更多的 UDP 请求。当前请求将是每秒 10 次, ultimatley 它会更频繁。我必须用这些值来计算)
问题:
字符串不一致。返回的值可以有不同的数字,可以有符号也可以没有。一致只是:A/46\(digit for value 46)/48\(digit)/52\(digit)/54\(digit)/38\_/34\_/32\_
如您所见,值在“\ /”之间。我得到了一个“解决方案”,可以将值削减到特定位置。但是当数字改变时它失败了。
解决方案?
(是的,我是一个真正的 Java 新手)我的尝试给了我一个看起来像这样的数组:
A/46
-54.67/48
-6.94/52
2.41/54
0.00/38
-0.18/34
0.06/32
-27.22
所以,现在我不知道如何从值中获取最后一部分以将它们转换为双精度(数组)。
我希望我已经生动地描述了我的问题。
感谢您的意见和建议。