heeeeeeeeeeeeeeelp!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • obkfixx
    New Member
    • Mar 2008
    • 19

    heeeeeeeeeeeeeeelp!

    help please.. i need to get a number converted into words.. for example
    100 = one hundred .. 10 = ten.... 1000 = one thousand.....

    could u give me a vb built in function for this? or a code??
  • anuragshrivastava64
    New Member
    • Jan 2007
    • 66

    #2
    Bit Lengthy but works
    [code=vb]
    Public Function Num2Word(ByVal txtnumber As String)
    Dim dblNumber As Double
    Dim strNumber As String
    Dim intLen As Integer
    Dim strTemp As String, strTemp1 As String, strTemp2 As String
    Dim strOut As String
    Dim i As Integer
    Dim Ones(0 To 19) As String
    Dim Tens(0 To 9) As String
    Dim PValue(1 To 6) As String
    If val(txtnumber) < 0 Then
    Num2Word = ""
    Exit Function
    End If
    Ones(0) = ""
    Ones(1) = "One "
    Ones(2) = "Two "
    Ones(3) = "Three "
    Ones(4) = "Four "
    Ones(5) = "Five "
    Ones(6) = "Six "
    Ones(7) = "Seven "
    Ones(8) = "Eight "
    Ones(9) = "Nine "
    Ones(10) = "Ten "
    Ones(11) = "Eleven "
    Ones(12) = "Twelve "
    Ones(13) = "Thirteen "
    Ones(14) = "Fourteen "
    Ones(15) = "Fifteen "
    Ones(16) = "Sixteen "
    Ones(17) = "Seventeen "
    Ones(18) = "Eighteen "
    Ones(19) = "Nineteen "

    Tens(0) = ""
    Tens(1) = "Ten "
    Tens(2) = "Twenty "
    Tens(3) = "Thirty "
    Tens(4) = "Forty "
    Tens(5) = "Fifty "
    Tens(6) = "Sixty "
    Tens(7) = "Seventy "
    Tens(8) = "Eighty "
    Tens(9) = "Ninety "

    PValue(6) = "Crore "
    PValue(5) = "Lakh "
    PValue(4) = "Thousand "
    PValue(3) = "Hundred "
    PValue(2) = ""
    PValue(1) = ""

    If txtnumber = "" Then
    Exit Function
    End If

    dblNumber = val(txtnumber) * 100
    strNumber = CStr(dblNumber)
    intLen = Len(strNumber)

    If intLen > 5 Then
    strNumber = Left(strNumber, intLen - 5) + "0" + right(strNumber , 5)
    intLen = intLen + 1
    End If

    If intLen Mod 2 = 1 Then
    strNumber = "0" + strNumber
    intLen = intLen + 1
    End If

    strOut = ""
    For i = 1 To intLen Step 2
    strTemp = Mid(strNumber, i, 2)
    If strTemp <> "00" Then
    If (intLen - i + 1) / 2 = 1 Then
    strOut = strOut + IIf(dblNumber - Int(dblNumber) > 0, " And Paise ", " And Paise ")
    End If
    If val(strTemp) < 20 Then
    strOut = strOut + Ones(val(strTem p))
    Else
    strTemp1 = Left(strTemp, 1)
    strTemp2 = right(strTemp, 1)
    strOut = strOut + Tens(val(strTem p1)) + Ones(val(strTem p2))
    End If
    strOut = strOut + PValue((intLen - i + 1) / 2)
    End If
    Next
    Num2Word = strOut
    End Function[/code]
    Last edited by debasisdas; Mar 20 '08, 08:56 AM. Reason: added code=vb tags

    Comment

    • debasisdas
      Recognized Expert Expert
      • Dec 2006
      • 8119

      #3
      You can easily get it done if using Oracle at database level itself.

      Comment

      Working...