어디에서나 BigDecimal로 어떻게 구문 분석을 수행 할 수 있습니까?
이 질문에 이미 답변이 있습니다.
이 링크 : 10,692,467,440,017.120 (금액)이 있습니다.
BigDecimal로 구문 분석하고 싶습니다. 문제는 DecimalFormat과 NumbeFormat을 모두 헛된 시도했다는 것입니다. 도움이 필요하세요?
이 시도
// Create a DecimalFormat that fits your requirements
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator(',');
symbols.setDecimalSeparator('.');
String pattern = "#,##0.0#";
DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols);
decimalFormat.setParseBigDecimal(true);
// parse the string
BigDecimal bigDecimal = (BigDecimal) decimalFormat.parse("10,692,467,440,017.120");
System.out.println(bigDecimal);
I18N 지원으로 애플리케이션을 빌드하는 경우 다음을 사용합니다. DecimalFormatSymbols(Locale)
또한 던지 decimalFormat.parse
거나 ParseException
프로그램의 다른 부분에서 처리하거나 (try / catch 사용) 처리해야합니다.
이 시도
String str="10,692,467,440,017.120".replaceAll(",","");
BigDecimal bd=new BigDecimal(str);
올바른 생성자 http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#BigDecimal(java.lang.String)
String으로 BigDecimal을 직접 인스턴스화 할 수 있습니다.)
예 :
BigDecimal bigDecimalValue= new BigDecimal("0.5");
BigDecimal은 인증서 생성을 제공합니다. 정규식 또는을 통해 번호에서 모든 쉼표를 제거해야합니다 String filteredString=inString.replaceAll(",","")
.
그런 다음 간단히 BigDecimal myBigD=new BigDecimal(filteredString);
을 만들고 NumberFormat
호출 할 수도 있습니다 setParseBigDecimal(true)
. 그런 다음 다음 parse(
수동 형식화에 대해 걱정하지 않고 BigDecimal을 제공합니다.
참조 URL : https://stackoverflow.com/questions/18231802/how-can-i-parse-a-string-to-bigdecimal
'ProgramingTip' 카테고리의 다른 글
Java Import 오기는 어떻게 작동합니까? (0) | 2020.12.15 |
---|---|
Java 소스 코드에서 일부 ASCII 문자를 '\ uXXXX'형식으로 표현할 수없는 이유는 무엇입니까? (0) | 2020.12.15 |
pm2 오류 로그에 날짜를 추가하는 방법은 무엇입니까? (0) | 2020.12.15 |
Python에서 HDF5 파일을 읽는 방법 (0) | 2020.12.15 |
사용하여 단일 페이지에 여러 양식을 사용하여 (0) | 2020.12.15 |