import java.util.ArrayList;
 
public class numberTokorean {
 
    numberTokorean(String testNum) {
        String[] firstUnit = { "일", "십", "백", "천" };
        String[] secondUnit = { "원", "만", "억", "조", "경", "해", "자", "양", "구", "간", "정", "재", "극", "항하사", "아승지", "나유타", "불가사의", "무량대수", "겁", "훈공", "그래함이수", "구글", "아산키야", "센틸리온", "스큐스수", "구글플랙스", "구글플랙시안", "그래이 엄수"};
        String[] thirdUnit = { "영", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구" };
 
        StringBuilder resultString = new StringBuilder();
        ArrayList<String> tempList = new ArrayList<String>();
 
        StringBuilder sb = new StringBuilder();
        if(isNumber(testNum)) {
            if(testNum.length() > 56) {
                System.out.println("지원하지 않는 자리수입니다.");
            }
            else if(testNum == "0") {
                System.out.println("영원");
            }
            else {
                for (int idx = testNum.length() - 1; idx >= 0; idx--) {
                    sb.append(testNum.charAt(idx));
                    if (sb.toString().length() == 4) {
                        tempList.add(sb.toString());
                        sb = new StringBuilder();
                    } else if (idx == 0) {
                        tempList.add(sb.toString());
                    }
                }
        
                for (int i = 0; i < tempList.size(); i++) {
                    resultString.insert(0, secondUnit[i]);
                    String str = tempList.get(i);
                    for (int j = 0; j < str.length(); j++) {
                        if (j > 0) {
                            resultString.insert(0, firstUnit[j]);
                            if (Integer.parseInt(String.valueOf(str.charAt(j))) > 1) {
                                resultString.insert(0, thirdUnit[Integer.parseInt(String.valueOf(str.charAt(j)))]);
                            }
                        } else {
                            if (i == 0) {
                                if (Integer.parseInt(String.valueOf(str.charAt(j))) > 0) {
                                    resultString.insert(0, thirdUnit[Integer.parseInt(String.valueOf(str.charAt(j)))]);
                                }
                            } else {
                                if (Integer.parseInt(String.valueOf(str.charAt(j))) > 1) {
                                    resultString.insert(0, thirdUnit[Integer.parseInt(String.valueOf(str.charAt(j)))]);
                                }
                            }
                        }
                    }
        
                    /*
                    if (i < tempList.size() - 1) {
                        resultString.insert(0, ",");
                    }
                    */
                }
            }
            System.out.println(resultString.toString());
        }
        else {
            System.out.println("숫자로만 입력해 주세요");
        }
    }
    
    public boolean isNumber(String str) {
        return str.matches("^[0-9]*$");
    }
 
    public static void main(String[] args) {
        String a = "42258.0";
        System.out.println(String.valueOf(java.lang.Math.round(new Double(a))));

    }
}

[펌] http://javaman.tistory.com/110

+ Recent posts