2009-12-21 4 views

risposta

42
+9

Oppure 'String.valueOf (long)' – rsp

+4

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

+5

Forse questo è insignificante, ma in questo caso si sta facendo affidamento su un comportamento non documentato di Long.toString (foo). Per questo motivo, preferisco la risposta di Daniel Fortunov. –

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

Grazie, stavo cercando di farlo con l'iniezione di proprietà MessageFormat. Per fortuna c'è più di un modo per farlo! –

+3

preferisco in questo modo. dal momento che mi permette di cambiare il formato nel mio file delle proprietà della lingua. –

+18

Questa dovrebbe essere la risposta accettata. –

-1

In alternativa String.format e java.util.Formatter potrebbe funzionare per voi pure ...

-5

si potrebbe provare:

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

Creazione di oggetti non necessari Non utilizzare mai nuove classi con wrapper – keiki

-1

La via più breve è

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

E, come sempre, questo si espande in 'new StringBuilder (" "). Append (foo) .toString()' quindi non è proprio ottimale – RAnders00

+1

@ RAnders00 Conversione di un numero in una singola stringa è improbabile che sia l'opzione più ottimale, a seconda del contesto in genere è possibile evitarlo del tutto, ma per il modello più semplice è possibile usare "" "+' –

+1

Hai ragione, ma volevo solo indicarlo dal momento che le persone tendono sempre a farlo notare – RAnders00