¿Cuál es la mejor manera de formatear el siguiente número que se me da como una cadena?
String number = "1000500000.574" //assume my value will always be a String
Quiero que esto sea una cadena con el valor: 1,000,500,000.57
¿Cómo puedo formatearlo como tal?
Esto también se puede lograr usando String.format (), que puede ser más fácil y / o más flexible si está formateando múltiples números en una cadena.
Para la cadena de formato "% ,. 2f" - "," significa grupos de dígitos separados con comas, y ".2" significa redondear a dos lugares después del decimal.
Para obtener referencias sobre otras opciones de formato, consulte https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
fuente
Una vez que haya convertido su cadena en un número, puede usar
o
fuente
new DecimalFormat("0.##", DecimalFormatSymbols.getInstance(locale))
Dado que este es el resultado número uno de Google
format number commas java
, aquí hay una respuesta que funciona para las personas que trabajan con números enteros y no les importan los decimales.salidas:
fuente
He creado mi propia utilidad de formateo. Lo cual es extremadamente rápido en el procesamiento del formato junto con muchas características :)
Soporta:
El código se puede encontrar aquí . Lo llamas así:
También debo señalar que esto no maneja el soporte decimal, pero es muy útil para valores enteros. El ejemplo anterior mostraría "1.23M" como salida. Probablemente podría agregar soporte decimal tal vez, pero no vi demasiado uso desde entonces, entonces podría fusionar esto en un tipo de clase BigInteger que maneja matrices char [] comprimidas para cálculos matemáticos.
fuente
K
o quéM
significafuente
También puede usar la siguiente solución:
fuente
Puede realizar la conversión completa en una línea, utilizando el siguiente código:
Los dos últimos signos # en el constructor DecimalFormat también pueden ser 0s. De cualquier manera funciona.
fuente
La primera respuesta funciona muy bien, pero para CERO / 0 se formateará como .00
Por lo tanto, el formato #, ## 0.00 está funcionando bien para mí. Siempre pruebe diferentes números como 0/100 / 2334.30 y números negativos antes de implementar en el sistema de producción.
fuente
Aquí está la forma más sencilla de llegar allí:
salida: 10,987,655.88
fuente