Quiero convertir un número entero 35634646 para que tenga el millar "," por lo que debería ser 35,634,646.
¿Cuál sería la forma más rápida de hacerlo?
System.out.println(NumberFormat.getNumberInstance(Locale.US).format(35634646));
Output: 35,634,646
import java.text.NumberFormat;
.,
, sin embargo, también hay regiones que usan.
para la agrupación. En una palabra, codificar un entorno local se considera una mala práctica.Locale.getCurrent()
es la solución¿Pide el más rápido, pero quizás quiere decir "mejor" o "correcto" o "típico"?
También solicita comas para indicar miles, pero ¿tal vez quiere decir "en forma normal legible por humanos de acuerdo con la costumbre local de su usuario"?
Lo haces así:
Los estadounidenses obtendrán "35,634,646"
Los alemanes obtendrán "35.634.646"
Los alemanes suizos obtendrán "35'634'646"
fuente
fuente
Enteros:
Dobles:
String.format es bastante poderoso.
- Editado por retroalimentación psuzzi .
fuente
String.format
. Comienza conreturn new Formatter(l) ...
etc. Así que el argumento del recolector de basura no es tan fuerte como parece.Salida:
35,634,646
fuente
#,###
, si desea un formato de estilo europeo, puede usarlo#,##,###
.,
.Las otras respuestas son correctas, sin embargo, verifique su ubicación antes de usar
"%,d"
:Resultado:
fuente
Esta solución funcionó para mí:
fuente
Use el
%d
especificador de formato con una coma:%,d
Esta es, con mucho, la forma más fácil.
fuente
Si se debe hacer lo mismo en el JSP, use:
por supuesto para el uso de valores múltiples:
fuente
Aquí hay una solución para aquellos de ustedes que no pueden acceder a "numberformat" ni a "String.format" (usando una versión limitada de java dentro de un framework). Espero que sea útil.
fuente
usar extensión
resultado
fuente
no puedes usar un
La coma en el
printf
debería agregar las comas en el%d
inter.No es positivo al respecto, pero funciona para mí.
fuente
Primero debe incluir las etiquetas JSTL: -
al comienzo de la página
fuente