부호가 있는 텍스트형 실수를 실수형으로 변환시키기
import java.util.StringTokenizer;
import java.util.regex.Pattern;
public class StringFloat {
public static float toFloat(String value){
String sign = value.substring(0,1);
boolean hasSign = sign.equals("+") || sign.equals("-") || sign.equals("(");
removeComma(value);
if( hasSign ) {
if ( sign.equals("(") ) { return negative(value); }
if ( sign.equals("-") ) { return Float.parseFloat(value) * -1; }
else { return Float.parseFloat(value); }
} else {
return Float.parseFloat( value );
}
}
private static String removeComma(String value) {
String result = null;
StringTokenizer st = new StringTokenizer(value, ",");
while( st.hasMoreTokens() ) {
result += st.nextToken();
}
return result;
}
private static float negative(String value) {
String result = null;
boolean isNumber = Pattern.matches("^.[0-9]*.$", value);
if ( isNumber ) {
result = value.substring(1);
// 문자열의 마지막에 ')'기호가 있는가를 확인한 후 제거
if ( result.substring( result.length()-1 ).equals(")") ) {
result = result.substring(0, result.length()-1);
}
} else {
return Float.parseFloat(value) * -1;
}
return Float.parseFloat(value) * -1;
}
}
'자바(Java) > JAVA 2SE' 카테고리의 다른 글
java.util.HashTable - Hash 처리의 발전형 (0) | 2009.10.30 |
---|---|
java.util.HashMap - Hash 객체 (0) | 2009.10.30 |
Java Excel API의 포멧(데이터형식) (0) | 2009.09.10 |
엑셀 파일 수정 - Java Excel API 사용 (0) | 2009.09.10 |
엑셀 파일 복사 - Java Excel API 사용 (0) | 2009.09.10 |