2010-11-18 12 views
5

En Android, ¿hay alguna manera fácil de insertar comas en un valor numérico? es decir, si tengo un EditText con 12345 en él, ¿cómo puedo mostrar esto como 12,345?Insertar comas en enteros

Creo que puedo hacerlo utilizando una subcadena y dividirla en x número de 3 trozos de número y luego concatenar la respuesta con ',' entre cada trozo de 3 números. Esto sería bastante fácil si la longitud del número fuese constante, pero como el número podría ser de un dígito a, digamos 20, lo hace más complejo.

Solo por curiosidad si hay una forma simple y limpia de lograr esto antes de hacer mi solución de subcadena.

Saludos

+0

probablemente debería especificar qué idioma que está utilizando , ¿no? – aaronasterling

+0

¿Es este Java? (Supongo que por "EditText") –

+0

¿Qué idioma estás usando? Muchos idiomas tienen funciones de formateo integradas. – Ray

Respuesta

16

Si Java -

usar algo como esto:

double amount = 2324343192.015; 
    NumberFormat formatter = new DecimalFormat("###,###,###.##"); 
    System.out.println("The Decimal Value is: "+formatter.format(amount)); 

Resultado: el valor decimal es: 2,324,343,192.02

+0

Gracias por la ayuda. ¿Esto solo funciona con valores dobles? – Entropy1024

+0

He utilizado el siguiente código pero devuelve 123456.0, no como esperaba 123,456. ¿Dónde me estoy equivocando, por favor? \t \t \t \t cantidad doble = 123456; \t \t \t NumberFormat formatter = new DecimalFormat ("###, ###, ###"); \t \t \t formatter.format (cantidad); \t \t \t totalFrames.setText (Double.toString (cantidad)); – Entropy1024

+0

Ah, acabo de descubrir dónde me estaba yendo mal. El resultado formateado devuelto es una cadena sí? – Entropy1024

Cuestiones relacionadas