내 코드는 다음과 같습니다NumberFormatException이이 BigDecimal를
String sql="insert into L_EC(AMOUNT)values(?)";
pst=con.prepareStatement(sql);
for(int i=0;i<dtm.getRowCount();i++){
BigDecimal nbr= parsing(dtm.getValueAt(i, 1).toString());
prst.setBigDecimal(1, nbr);
prst.addBatch();
}
prst.executeBatch();
정보 : 열은 Currency
private static BigDecimal parsing(String str) {
String normalized="";
if(str==null){
normalized="0";
}else{
normalized = str.replaceAll("\\s", "").replace(',', '.');
}
return new BigDecimal(normalized);
문제가 테이블에서 셀 NULL 포함되어있는 경우, 나는이를 얻을 수 있다는 것입니다 타입이다 메시지 :
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:545)
at java.math.BigDecimal.<init>(BigDecimal.java:739)
at Vista.TCRCG.parse(TCRCG.java:130)
나는 문제가 동등하다고 생각합니다. 구문 분석기가 텍스트 나 값없이 셀을 찾을 때 메소드를 호출하십시오.
내 코드에이 기능이 포함이 전체 예외 스택 트레이스 –
를 기입하십시오, 예를 들어, 몇 가지 추가 검사를 수행해야 할 수 있습니다 : 개인 정적 BigDecimal를 구문 분석 (문자열 STR) { 문자열을 정규화 = ""; if (str == null) { normalized = "0"; } else { 정규화 된 str.replaceAll ("\\ s", "") .replace (',', '.'); } return 새 BigDecimal (정규화); – Squero27
댓글을 사용하지 마세요. ** 수정 ** 질문. 전체 예외 메시지와 함께 스택 추적을 게시하십시오. –