728x90
반응형
#자바 숫자 금액을 한글로 변환하는 방법
예시) 매개변수: 300,000,000 => 반환값: 금삼억원정
public class MyClass {
public String NumberToKor(String amt){
String amt_msg = "";
String[] arrayNum = {"", "일","이","삼","사","오","육","칠","팔","구"};
String[] arrayUnit = {"","십","백","천","만","십만","백만","천만","억","십억","백업","천억","조","십조","백조","천조","경","십경","백경","천경","해","십해","백해","천해"};
if(amt.length() > 0){
int len = amt.length();
String[] arrayStr = new String[len];
String hanStr = "";
String tmpUnit = "";
for(int i = 0; i < len; i++){
arrayStr[i] = amt.substring(i, i+1);
}
int code = len;
for(int i = 0; i < len; i++){
code--;
tmpUnit = "";
if(arrayNum[Integer.parseInt(arrayStr[i])] != ""){
tmpUnit = arrayUnit[code];
if(code > 4){
if((Math.floor(code/4) == Math.floor((code-1)/4)
&& arrayNum[Integer.parseInt(arrayStr[i+1])] != "") ||
(Math.floor(code/4) == Math.floor((code-2)/4)
&& arrayNum[Integer.parseInt(arrayStr[i+2])] != "")) {
tmpUnit = arrayUnit[code].substring(0,1);
}
}
}
hanStr += arrayNum[Integer.parseInt(arrayStr[i])]+tmpUnit;
}
amt_msg = hanStr;
}else{
amt_msg = amt;
}
return amt_msg;
}
public static void main(String args[]) {
MyClass mc = new MyClass();
System.out.println("금" + mc.NumberToKor("300000000")+"원정");
}
}
728x90
반응형
'IT > Java' 카테고리의 다른 글
[Java] - 자바 String 문자열 null 체크 및 치환하는 방법 (0) | 2021.09.28 |
---|---|
[Java] - 자바 비밀번호 정규식 패턴(Pattern) 메소드 (0) | 2021.09.27 |
[Java] - 자바 날짜 비교 메서드 [before(), after(), equals()] 사용법 (0) | 2021.09.14 |
[Java] - 자바 BigDecimal 사용법 (0) | 2021.06.09 |
[Java] - 자바 String 문자열 null 체크 하는 방법 (0) | 2021.02.03 |
댓글