어느 가을날의 전환점

JAVA|숫자 문자열 변환 시 지수 형태로 표현되지 않도록 변경 방법 본문

Development

JAVA|숫자 문자열 변환 시 지수 형태로 표현되지 않도록 변경 방법

어느가을빛 2010. 10. 11. 13:48
java.text.DecimalFormat

참고 대상
1) 특정 마이플랫폼을 위한 자바 프레임워크에서 프로시저 호출 시 모든 인수를 문자열로 처리하는 형태에서 숫자가 7자리 이상 되는 경우 문자열로 변환 시 지수 형태로 표기되어 MS-SQL에서 내부 형변환 시 타입 오류가 발생하는 현상 보완.
2) 숫자를 특정 문자열 포맷으로 표현이 필요한 경우 참조 가능.

import java.text.DecimalFormat;

//MS-SQL에서 7자리이상 숫자가 지수 형태로 표기되어 문자열 인수로 전달 시 SP에서 형변환 오류 발생 
//지수형 숫자 문자열 변환 시 숫자로 나열되도록 보완 
if(ds.getColumnInfo(ds.getColumnIndex(colNm[j])).getColumnType() == 4) { //4.DECIMAL 
DecimalFormat formatter = new DecimalFormat("####################.0#####"); 
System.out.println("[" + j + "] " + formatter.format(Double.parseDouble(ds.getColumnAsDouble(i, colNm[j]).toString()))); 
ret[j] = (ds.getColumnAsObject(i, colNm[j]) == null ? "" : formatter.format(Double.parseDouble(ds.getColumnAsDouble(i, colNm[j]).toString()))); 
} else { 
ret[j] = (ds.getColumnAsObject(i, colNm[j]) == null ? "" : ds.getColumnAsObject(i, colNm[j]).toString()); 

참조

Comments