【发布时间】:2013-06-27 03:20:57
【问题描述】:
我在 Java 和 Android 方面相当缺乏经验。我正在尝试检索存储在 android 手机模拟器的联系人之一中的电话号码。虽然我成功获取它,但该数字已以字符串的形式返回,格式为“(987)654-3210”。
我想将其转换为整数或长整数。我怎样才能做到这一点?如果我使用Integer.parseInt(String number),它会返回一个NumberFormatException。尝试使用 Long.valueOf(String number) 时也失败了。那我该怎么办?我希望它像“9876543210”一样不带任何大括号或连字符。
【问题讨论】:
-
您将如何处理以 0 开头的电话号码?还是以 + 开头的国际号码?
-
你可能想阅读this
-
电话号码不是整数,不应被视为整数。例如,电话号码可能(本地)以 0 开头——我的就是这样。作为一个整数,前导 0 将被去除。
-
您需要使用正则表达式对其进行清理,而不是尝试将其直接解析为长整数或整数