[java] Java에서 천 단위 구분 기호를 설정하는 방법은 무엇입니까?

Java에서 천 단위 구분 기호를 설정하는 방법은 무엇입니까?
수천 구분 기호로 서식을 지정하고 String으로 반환하려는 BigDecimal의 String 표현이 있습니다.



답변

이것은 작동해야합니다 (JavaDoc을 기반으로 추정되지 않음).

DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();

symbols.setGroupingSeparator(' ');
formatter.setDecimalFormatSymbols(symbols);
System.out.println(formatter.format(bd.longValue()));

JavaDoc에 따르면 첫 번째 행의 캐스트는 대부분의 로케일에 저장되어야합니다.


답변

“,”와 함께 format 함수를 사용할 수 있습니다.

int no = 124750;
String str = String.format("%,d", no);

//str = 124,750

“,”에는 로캘 별 그룹화 문자가 포함됩니다.

문서


답변

BigDecimal bd = new BigDecimal(300000);

NumberFormat formatter = NumberFormat.getInstance(new Locale("en_US"));

System.out.println(formatter.format(bd.longValue()));

편집하다

공간과 같은 사용자 지정 그룹화 구분 기호를 얻으려면 다음과 같이하십시오.

DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(' ');

DecimalFormat formatter = new DecimalFormat("###,###.##", symbols);
System.out.println(formatter.format(bd.longValue()));


답변

브라질에서 사용되는 형식으로이 코드를 사용해보십시오.

    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"


답변

정수 데이터 유형에 천 단위 구분 기호를 사용하는 경우 1을 사용하십시오.

  1. 정수 데이터 유형

String.format ( “%, d \ n”, 58625) 및 출력은 58,625입니다.

  1. 부동 소수점 데이터의 경우 String.format ( “% ,. 2f”, 58625.21)을 입력하면 출력은 58,625.21입니다.

답변

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);


답변

NumberFormat nf = DecimalFormat.getInstance(myLocale);
DecimalFormatSymbols customSymbol = new DecimalFormatSymbols();
customSymbol.setDecimalSeparator(',');
customSymbol.setGroupingSeparator(' ');
((DecimalFormat)nf).setDecimalFormatSymbols(customSymbol);
nf.setGroupingUsed(true);