如何使用十进制格式显示电话号码[重复]
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/
【讨论】:
以上是关于如何使用十进制格式显示电话号码[重复]的主要内容,如果未能解决你的问题,请参考以下文章