질문을 게시하기 전에 주제를 다소 연구했지만 대답을 찾을 수 없습니다.DecimalFormat 변수 그룹 크기
입력 : (아무 분수) 7 ~ 8 진수 공백이 긴 숫자를 여기
내가 할 노력하고있어 무슨.출력 : "X XXXXXX X"(X는 숫자)가 있어야합니다.
예 : 1234567 => 0 123456 7
내가 시도하는 것 :
DecimalFormatSymbols group = new DecimalFormatSymbols();
group.setGroupingSeparator(' ');
DecimalFormat idFormat = new DecimalFormat("0,000000,0", group);
을하지만 대신에 "0 1 2 3 4 5 6 7"같은 것을 인쇄 : 내가 잘못 뭐하는 거지 S ?
편집 :
DecimalFormatSymbols group = new DecimalFormatSymbols(); group.setGroupingSeparator(' '); group.setDecimalSeparator(' '); DecimalFormat idFormat = new DecimalFormat("0,000000.0", group);
그리고 설명서를 다시 읽어에서
, 나는 DecimalFormat의 인쇄 할 수있는 방법이 없음을 깨달았다이내가 이렇게하면 내가 필요한 인쇄 할 수 있습니다 가변 길이 그룹 (나는 2를 필요로하기 때문에 운이 좋다 - 그래서 나는 분수 부분을 사용할 수있다). 그러나 이것을 어떻게 "적절하게"할 수 있습니까? 여기에서 정규 표현식을 사용하거나 내 자신의 함수를 작성하는 것이 좋을까요, 아니면 이미 이렇게하는 라이브러리가 있습니까?
EDIT2 :
그냥 차기를 들어, 아래 그 일의 정규식 기반 방법 :
Random random = new Random();
System.out.println(
String.valueOf(Math.round(random.nextDouble() * 1e8))
.replaceAll("(.*)(\\d{6})(\\d)$", "$1 $2 $3")
.replaceAll("^ ", "0 "));
정규식이 여기에서 도움이되지 않을 것이라고 생각합니다. 구문 분석을위한 것입니다. AFAIK 형식을 10 진수로 정규 표현식을 사용할 수있는 방법이 없습니다. – Alex