2009-12-21 16 views

Respuesta

42

Sólo tiene que utilizar Long.toString(long foo)

+9

O 'String.valueOf (long)' – rsp

+4

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

+5

Quizás esto sea insignificante, pero en este caso se basa en un comportamiento no documentado de Long.toString (foo). Por esa razón, prefiero la respuesta de Daniel Fortunov. –

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

Gracias, estaba tratando de hacer esto con la inyección de propiedades MessageFormat. ¡Qué bueno que hay más de una forma de hacerlo! –

+3

prefiero de esta manera. ya que me permite cambiar el formato en mi archivo de propiedades de idioma. –

+18

Esta debería ser la respuesta aceptada. –

-1

Como alternativa String.format y java.util.Formatter podría funcionar para usted también ...

-5

usted podría intentar:

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

Creación innecesaria de objetos. Nunca use las clases nuevas con contenedor. – keiki

-1

El camino más corto es

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

Y, como siempre, esto se expande a 'new StringBuilder (" ") .append (foo) .toString()' por lo que no es realmente óptimo. – RAnders00

+1

@ RAnders00 Convertir un número en una sola cuerda es poco probable que sea la opción más óptima, dependiendo del contexto generalmente puede evitarla por completo, pero para el patrón más simple puede usar '" "+' –

+1

Tiene razón, pero solo quería señalarlo ya que la gente siempre tiende a señalarlo. – RAnders00

Cuestiones relacionadas