¿Cómo configurar el separador de miles en Java? Tengo la representación de cadena de BigDecimal, quiero establecer separador de miles y devolver cadena.¿Cómo configurar el separador de miles en Java?
Respuesta
Esto debería funcionar (no probado, basado en JavaDoc):
DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
formatter.setDecimalFormatSymbols(symbols);
System.out.println(formatter.format(bd.longValue()));
De acuerdo con JavaDoc, el molde en la primera línea debe ser guardar para la mayoría de las configuraciones regionales.
Comentario no probado sobre esto: Javadoc para 'getDecimalFormatSymbols()' dice: 'Devuelve: una copia del DecimalFormatSymbols' deseado. Entonces debería usar 'setDecimalFormatSymbols (theCopy)' después de alterar la copia. –
Los documentos para bd.longValue() dicen "cualquier parte fraccionaria será descartada".Así que no sé si esta es la mejor manera de hacerlo si le importa la precisión – codinguser
. Supongo que podría usar 'new' y volver a formateador: ' DecimalFormatSymbols customSymbol = new DecimalFormatSymbols(); ' ' customSymbol.setDecimalSeparator (decimalSeperator.charAt (0)); ' ' customSymbol.setGroupingSeparator (thousandSeperator); ' ' formatter.setDecimalFormatSymbols (customSymbol); ' –
BigDecimal bd = new BigDecimal(300000);
NumberFormat formatter = NumberFormat.getInstance(new Locale("en_US"));
System.out.println(formatter.format(bd.longValue()));
EDITAR
Para obtener agrupación personalizada de separación tales como el espacio, hacer esto:
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(' ');
DecimalFormat formatter = new DecimalFormat("###,###.##", symbols);
System.out.println(formatter.format(bd.longValue()));
thx. y necesito cambiar el separador de miles al espacio ("") – Funtime
sé que necesito usar DecimalFormatSymbols setGroupingSeparator, pero no sé cómo aplicarlo en mi BigDecimal – Funtime
@Funtime: no lo "aplicas en tu BigDecimal ". Construyes un objeto 'NumberFormat' con las propiedades deseadas y lo usas para formatear tu' BigDecimal'. Un 'BigDecimal' solo tiene un valor especificado, ** no ** tiene un formato especificado. –
DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols();
formatSymbols.setDecimalSeparator('|');
formatSymbols.setGroupingSeparator(' ');
String strange = "#,##0.###";
DecimalFormat df = new DecimalFormat(strange, formatSymbols);
df.setGroupingSize(4);
String out = df.format(new BigDecimal(300000).doubleValue());
System.out.println(out);
Puede usar la función de formateo con ",";
int no = 124750;
String str = String.format("%,d", no);
//str = 124,750
"," incluye caracteres de agrupación específicos de la configuración regional.
¿Qué sucede si quiero utilizar un '.' como separador? – Enissay
¡Como suelo usar String.format, es lo mejor y más fácil para mí! – Ali
@Enissay Call 'format()' con una configuración regional explícita ('Local.US' se usa para usar', 'como separador) y luego reemplace', 'con su separador personalizado:' String.format (Locale.US, "%, d", n) .replace (',', '.') '. – minipif
probar este código de formato que se utiliza en Brasil:
DecimalFormat df = new DecimalFormat(
"#,##0.00",
new DecimalFormatSymbols(new Locale("pt", "BR")));
BigDecimal value = new BigDecimal(123456.00);
System.out.println(df.format(value.floatValue()));
// results: "123.456,00"
Usted también intenta esto, en el caso de JasperReports, forzando el formato correcto: 'parameters.put (" REPORT_LOCALE ", nueva configuración regional (" pt "," BR "));' Envía este parámetro al informe. – dellasavia
La mejor respuesta aquí. –
La respuesta aceptada tiene que ser realmente alterado de lo contrario no funciona. El getDecimalFormatSymbols hace una copia defensiva. Por lo tanto,
DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
formatter.setDecimalFormatSymbols(symbols);
System.out.println(formatter.format(bd.longValue()));
la nueva línea es ésta: formatter.setDecimalFormatSymbols (símbolos);
NumberFormat nf = DecimalFormat.getInstance(myLocale);
DecimalFormatSymbols customSymbol = new DecimalFormatSymbols();
customSymbol.setDecimalSeparator(',');
customSymbol.setGroupingSeparator(' ');
((DecimalFormat)nf).setDecimalFormatSymbols(customSymbol);
nf.setGroupingUsed(true);
Para decimales:
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
DecimalFormat dfDecimal = new DecimalFormat("###########0.00###");
dfDecimal.setDecimalFormatSymbols(symbols);
dfDecimal.setGroupingSize(3);
dfDecimal.setGroupingUsed(true);
System.out.println(dfDecimal.format(number));
- 1. MYSQL - Separador de miles
- 2. Separador de miles en C++
- 3. Cómo utilizar separador de miles en NSString
- 4. Separador de miles en .Net/F #
- 5. Cómo agrego el separador de miles a mi formulario html
- 6. ¿Cómo puedo declarar un separador de miles en read.csv?
- 7. Cómo insertar un separador de miles (coma) con convert duplicar
- 8. Utilice una costumbre separador de miles en C#
- 9. Qt - punto decimal personalizado y separador de miles
- 10. Formateo de números con separador de miles Smarty PHP
- 11. Cómo especificar el separador de miles y decimales utilizado por el NúmeroFormato de GWT
- 12. conversión doble para cadena con N decimales, punto como separador decimal, y ningún separador de miles
- 13. ¿Cómo obtener el símbolo separador de tiempo en Java?
- 14. ¿Puedo declarar enteros constantes con un separador de miles en C#?
- 15. Cómo configurar moneda en java?
- 16. Django miles separados en la plantilla
- 17. Java: cómo configurar htmlunit
- 18. Agregue un separador de miles a un total con Javascript o jQuery?
- 19. Cuerda partida con | separador en Java
- 20. Cómo personalizar el separador TableView en iPhone
- 21. ¿Cómo agrego un separador a un JComboBox en Java?
- 22. ¿Cómo se utiliza el autocompletar para miles de entradas?
- 23. formato de número en miles
- 24. Cómo configurar el AUTO-SCROLLING de JTextArea en Java GUI?
- 25. ¿Cómo puedo configurar el mensaje en una excepción en JAVA?
- 26. ¿Falta el separador en Makefile?
- 27. ¿Cómo configurar un temporizador en Java?
- 28. Método más eficiente de dibujar miles de partículas (Java/Android)
- 29. punto de Fuerza ("") como separador decimal en java
- 30. Cambiar el separador predeterminado en el molde
¿Está recibiendo estos valores de DB? –