Solución:
Puede utilizar la función de formato 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.
docs
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()));
Según JavaDoc, la conversión de la primera línea debe guardarse para la mayoría de las configuraciones regionales.
BigDecimal bd = new BigDecimal(300000);
NumberFormat formatter = NumberFormat.getInstance(new Locale("en_US"));
System.out.println(formatter.format(bd.longValue()));
EDITAR
Para obtener un separador de agrupación personalizado como el espacio, haga esto:
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(' ');
DecimalFormat formatter = new DecimalFormat("###,###.##", symbols);
System.out.println(formatter.format(bd.longValue()));
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)