将国际电话号码转换为本地电话号码

时间:2012-01-09 18:57:19

标签: java android phone-number libphonenumber

我正在尝试使用libphonenumber谷歌库来转换数字 国际到本地。

国际号码代表:“+ 97239658320”

当地号码(以色列境内):“039658320”

http://code.google.com/p/libphonenumber/

    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();

    PhoneNumber phone = null;

    try
    {
        phone = PhoneNumberUtil.getInstance().parse("+97239658320", null);
    }

    catch (NumberParseException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

然而,在“手机”中,结果是:

Country Code: 972 National Number: 39658320 (without the leading zero)

如何正确转换?

1 个答案:

答案 0 :(得分:3)

查看project page的快速示例,说解析后应该有:

{
country_code: 972
national_number: 39658320
}

要以您想要的格式获取,您应该使用格式NATIONAL格式化它:

phoneUtil.format(phone, PhoneNumberFormat.NATIONAL)

要删除任何电话号码分隔符,请查看stripSeparators()中的android.telephony.PhoneNumberUtils