본문 바로가기

classic asp

[classic asp] 숫자를 한글로 변환

Function IntToKrWord(value)
  Dim ReturnValue
  Dim i
  ReturnValue = "" 
  If Isnumeric(value) = True Then
    If Instr(value,".") > 0 Then '소수점은 반올림
      value = Int(Replace(Formatnumber(value,0),",",""))
    End If
    Dim arAmt
    arAmt = Array("일","이","삼","사","오","육","칠","팔","구","십")
    Dim arPos
    arPos = Array("","십","백","천")
    Dim arUnit
    arUnit = Array("","만","억","조","경")
    Dim Pos
    Pos = Len(value) Mod 4
    Dim Unit    
    Unit = Int(Len(value) / 4)
    If Pos = 0 Then Unit = Unit - 1    
    Dim Op
    Op = 0
    For i = 0 To Len(value)-1      
      If Pos = 0 Then Pos = 4
      Dim Num      
      Num = Int(Mid(value, i+1, 1))      
      If Num > 0 Then        
        ReturnValue = ReturnValue + arAmt(Num-1)
        ReturnValue = ReturnValue + arPos(Pos-1)
        Op = 1
      End If
      If Pos = 1 Then
        If Op = 1 Then ReturnValue = ReturnValue + arUnit(Unit)
        Unit = Unit - 1
        Op = 0
      End If
      Pos = Pos - 1
    Next    
  End If
  IntToKrWord = ReturnValue
End Function