2009-12-21 4 views

Répondre

42

Il suffit d'utiliser Long.toString(long foo)

+9

Ou 'String.valueOf (long)' – rsp

+4

String.valueOf() appelle Long.toString() –

+5

Peut-être que c'est minime, mais dans ce cas, vous comptez sur un comportement non documenté de Long.toString (foo). Pour cette raison, je préfère la réponse de Daniel Fortunov. –

238
MessageFormat.format("{0,number,#}", foo); 
+1

Merci, j'essayais de le faire avec l'injection de propriétés MessageFormat. Bonne chose, il y a plus d'une façon de le faire! –

+3

Je préfère de cette façon. car cela me permet de changer le format dans mon fichier de propriétés de langue. –

+18

Ceci devrait être la réponse acceptée. –

-1

Comme alternative String.format et java.util.Formatter pourrait fonctionner aussi bien pour vous ...

-5

Vous pouvez essayer:

String s = new Long(foo).toString(); 
+6

Création d'objets inutiles N'utilisez jamais new avec les classes wrapper – keiki

-1

Le chemin le plus court est

long foo = 12345; 
String s = ""+foo; 
+3

Et, comme toujours, ceci se développe en 'new StringBuilder (" "). Append (foo) .toString()' donc ce n'est pas vraiment optimal – RAnders00

+1

@ RAnders00 Convertir un nombre dans une seule chaîne est peu probable d'être l'option la plus optimale, en fonction du contexte, vous pouvez généralement l'éviter entièrement, mais pour le modèle le plus simple, vous pouvez utiliser '" "+' –

+1

Vous avez raison, mais je voulais juste le signaler – RAnders00

Questions connexes