字符串文本为长值

时间:2011-05-10 22:14:00

标签: string blackberry java-me long-integer

嗯,就是这样! 我需要将字符串文本(如“Hrd $ 457”)转换为long值。 黑莓IDE有一个按钮,但我需要通过代码执行此操作。 请注意,该字符串是字母数字。

THX!

注意: 对不起,如果我的问题不是很清楚。我正在谈论的IDE按钮将整个字符串转换为一个long值,使该字符串成为唯一的数字。 BlackBerry文档说:

“要创建唯一的长密钥,请在BlackBerry®IntegratedDevelopment Environment中键入字符串值。 com.rim.samples.docs.userinfo 右键单击该字符串,然后单击“将com.rim.samples.docs.userinfo”转换为long。“

所以,我需要通过代码完全相同。

我真的很感谢你们的帮助伙伴们,非常感谢你们提供帮助。

4 个答案:

答案 0 :(得分:5)

如果您只是为字符串寻找数字常量,则可以执行以下操作。

String str = "asdfasdf345asdfasdf";
int asInt = str.hashCode();
long asLong = (long) asInt;

答案 1 :(得分:2)

以长整数形式返回SHA1摘要的前8个字节。通过突出显示字符串,右键单击并从上下文菜单中选择“转换为'到长”,可以使用BlackBerry JDE以交互方式获得相同的结果。

long net.rim.device.api.util.StringUtilities.stringHashToLong(String key)

答案 2 :(得分:0)

不确定我是否完全掌握了你的例子,但这是怎么回事?

String match = Pattern.compile("\\d+").matcher("Hrd$457").group();
long longValue = Long.parseLong(match).longValue();

答案 3 :(得分:0)

这是另一种方法。如果有多个数字,您可以使用扫描仪遍历字符串。

Scanner scanner = new Scanner(str);
scanner.useDelimiter("\\D+");
Long number = scanner.nextLong();