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을 사용하십시오.
- 정수 데이터 유형
String.format ( “%, d \ n”, 58625) 및 출력은 58,625입니다.
- 부동 소수점 데이터의 경우 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);
