2013-04-17 2 views
2

사용자는 GUI에서 파일 출력 형식을 지정할 수 있습니다. 특히 숫자 형식을 정의 할 수 있습니다. 첫 번째 아이디어는 그를에 DecimalFormat와 함께 사용할 수있는 형식을 지정할 수 있도록했지만, DecimalFormat는, 내 유스 케이스에 대한 적어도 두 가지 단점이 있습니다로케일없이 숫자 서식 지정

  • 그것은 사용자의 로케일을 사용하므로 ## ## 변환합니다. '.' ~에 ','독일.
  • 쉼표 이전과 이후에 차이가 없으므로 12.50에서 1250까지 포맷 할 수 없습니다. 또한 내 유스 케이스에서 필요합니다.

StringFormat도이 작업을 수행 할 수 없습니다. 그래서 내 질문은 당신이 이미이 문제를 처리하는 라이브러리를 아는 경우 또는 내가 간단한 포맷터를 직접 프로그래밍해야합니까.

+0

DecimalFormat는, (http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormatSymbols.html 사용자의 로케일을한다). –

+0

이 질문에 대한 답변을 확인하십시오. http://stackoverflow.com/questions/12711493/custom-formatted-number-with-period-and-comma –

답변

0

그것은 사용자

그리의 로케일을 사용합니다. Javadoc에서 :

"기본 로케일을 포함하여 특정 로케일에 대한 NumberFormat을 얻으려면 getInstance()와 같은 NumberFormat 팩토리 메소드 중 하나를 호출하십시오. 일반적으로 DecimalFormat 생성자를 직접 호출하지 마십시오. 당신이 [DecimalFormatSymbols가] 사용하여 설정하지 않으면

1
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(Locale.ENGLISH); 
DecimalFormat decimalFormat = new DecimalFormat("##.##"); 
decimalFormat.setDecimalFormatSymbols(otherSymbols);