VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Converts A Round Number to Words

by Santosh Kr. Jha (1 Submission)
Category: Math/Dates
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Mon 29th December 2008
Date Added: Mon 8th February 2021
Rating: (1 Votes)

Converts A Round Number to Words

API Declarations


Dim arr2(9) As String
Dim n As Long
Dim inWord As String

Rate Converts A Round Number to Words



arr2(0) = "": arr2(1) = "": arr2(2) = " Hundred"
arr2(3) = " Thousand": arr2(4) = "": arr2(5) = "Lac"
arr2(6) = "": arr2(7) = " Crore": arr2(8) = ""
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    Dim i As Integer
    i = 0
    n = Val(Text1.Text)
    Do Until n = 0
        arr(i) = n Mod 10
        n = Int(n / 10)
        i = i + 1
    Loop
    For i = 8 To 0 Step -1
        If arr(i) > 0 Then
            If i = 8 Or i = 6 Or i = 4 Or i = 1 Then
                inWord = inWord + detDoubleDigit(arr(i), arr(i - 1))
                If arr(i) = 1 Then i = i - 1
            Else
                inWord = inWord + detSingleDigit(arr(i))
            End If
            inWord = inWord + arr2(i)
        End If
    Next
    Text2.Text = inWord
End If
End Sub
Private Function detDoubleDigit(m As Integer, n As Integer) As String
Select Case m
    Case 1
    Select Case n
        Case 0
            detDoubleDigit = " Ten"
        Case 1
            detDoubleDigit = " Eleven"
        Case 2
            detDoubleDigit = " Twelve"
        Case 3
            detDoubleDigit = " Thirteen"
        Case 4
            detDoubleDigit = " Fourteen"
        Case 5
            detDoubleDigit = " Fifteen"
        Case 6
            detDoubleDigit = " Sixteen"
        Case 7
            detDoubleDigit = " Seventeen"
        Case 8
            detDoubleDigit = " Eighteen"
        Case 9
            detDoubleDigit = " Nineteen"
    End Select
    Case 2
        detDoubleDigit = " Twenty"
    Case 3
        detDoubleDigit = " Thirty"
    Case 4
        detDoubleDigit = " Fourty"
    Case 5
        detDoubleDigit = " Fifty"
    Case 6
        detDoubleDigit = " Sixty"
    Case 7
        detDoubleDigit = " Seventy"
    Case 8
        detDoubleDigit = " Eighty"
    Case 9
        detDoubleDigit = " Ninety"
End Select

End Function

Private Function detSingleDigit(m As Integer) As String
Select Case m
    Case 1
        detSingleDigit = " One"
    Case 2
        detSingleDigit = " Two"
    Case 3
        detSingleDigit = " Three"
    Case 4
        detSingleDigit = " Four"
    Case 5
        detSingleDigit = " Five"
    Case 6
        detSingleDigit = " Six"
    Case 7
        detSingleDigit = " Seven"
    Case 8
        detSingleDigit = " Eight"
    Case 9
        detSingleDigit = " Nine"
End Select

End Function

Download this snippet    Add to My Saved Code

Converts A Round Number to Words Comments

No comments have been posted about Converts A Round Number to Words. Why not be the first to post a comment about Converts A Round Number to Words.

Post your comment

Subject:
Message:
0/1000 characters