Comment formater un numéro de téléphone à une Chaîne de caractères en Java?

J'ai de stocker des numéros de téléphone en tant que longs et je voudrais simplement ajouter des traits d'union lors de l'impression du numéro de téléphone à une chaîne.

J'ai essayé d'utiliser DecimalFormat mais qui n'aime pas le trait d'union. Probablement parce qu'elle est destinée pour la mise en forme de nombres décimaux et de ne pas longs.

long phoneFmt = 123456789L;
DecimalFormat phoneFmt = new DecimalFormat("###-###-####");
System.out.println(phoneFmt.format(phoneNum)); //doesn't work as I had hoped

Idéalement, je voudrais avoir parenthèse sur le code de zone trop.

new DecimalFormat("(###)-###-####");

Quelle est la bonne façon de le faire?

  • Le stockage des numéros de téléphone dans un type numérique comme long n'est pas une bonne idée. Les numéros de téléphone sont vraiment un genre de label, pas de numéros que vous voulez effectuer des calculs avec. Que faire si un numéro de téléphone commençant par 0 - on ne pouvait pas la stocker dans un type numérique.
InformationsquelleAutor styfle | 2011-02-25