如何使用十进制格式显示电话号码[重复]

Posted

技术标签:

【中文标题】如何使用十进制格式显示电话号码[重复]【英文标题】:How to display phonenumber using decimal format [duplicate] 【发布时间】:2013-04-15 12:53:43 【问题描述】:

您好我想用DecimalFormat来显示:

8392472作为

839 24 72

我试过了

DecimalFormat dc = new DecimalFormat("000 00 00");
return dc.format(number);

我也试过"### ## ##"

【问题讨论】:

【参考方案1】:

我认为你不能用 DecimalFormat 做到这一点,因为你的空格不是组或小数分隔符。

简单的方法是简单地使用一个字符串:

int number = 8392472;
String s = String.valueOf(number);
String formatted = s.substring(0, 3) + " " 
                 + s.substring(3, 5) + " "
                 + s.substring(5, 7);

【讨论】:

【参考方案2】:

我认为最简单的方法如下。

public static void main(String[] args) 
    int number = 8392472;
    StringBuilder sb = new StringBuilder(String.valueOf(number))
                                .insert(3," ")
                                .insert(6," ");
    System.out.println(sb.toString());    

【讨论】:

效率稍低,因为它涉及复制底层数组两次 - 在大多数情况下可能不会产生明显的差异。 任何以 0 开头的电话号码都会乱码。过去,在美国和加拿大,所有区号都以数字 2-9 开头,并以 0 或 1 作为第二位。第二位数字部分不再正确。我不知道现在第一个数字是否可以为0。【参考方案3】:

使用 Google 库!它对我们很有效。

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

【讨论】:

以上是关于如何使用十进制格式显示电话号码[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何显示格式化的联系电话?

如何使用 jQuery 格式化电话号码

如何使用包括 iOS 的 jQuery 格式化电话号码

React - 如何将电话号码格式化为用户类型

如何使用月份和年份格式以精确格式显示日期[重复]

两张excel表格如何找出相同的身份证号码?【急】