by James Erwin T. DAmit (1 Submission)
Category: String Manipulation
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Fri 17th November 2006
Date Added: Mon 8th February 2021
Rating:
(1 Votes)
This code coneverts a number into its word value. Example: 123,000 is converted to One Hundred Twenty Three Thousand.
API Declarations
1. Create a form and add two textboxes; TextBox1 and TextBox2
2. Add a command button; CommandButton1
3. Copy the code below to the code window.
4. Run the program, enter the number in TextBox1 and click CommandButton1...
Rem Original code by James Erwin T. DAmit
Rem Salangan, San Miguel, Bulacan, Philippines
Rem Contact # +639103413797
Rem E-mail address: [email protected]
Function Getword(strNumber)
Dim strtemp As String
Dim x, y, z As Integer
x = Val(Mid$(strNumber, 1, 1))
y = Val(Mid$(strNumber, 2, 1))
z = Val(Mid$(strNumber, 3, 1))
If Len(strNumber) = 1 Then
strtemp = strtemp + Whole(Val(strNumber))
GoTo 20
ElseIf Len(strNumber) = 2 Then
If x = 1 And y = 0 Then
strtemp = strtemp + " Ten"
ElseIf x = 1 And y = 1 Then
strtemp = strtemp + " Eleven"
GoTo 20
ElseIf x = 1 And y = 2 Then
strtemp = strtemp + " Twelve"
GoTo 20
ElseIf x = 1 And y > 2 Then
strtemp = strtemp + Whole2(y) + "een"
GoTo 20
ElseIf x = 0 And y > 0 Then
strtemp = strtemp + Whole(y)
GoTo 20
ElseIf x = 0 And y = 0 Then
strtemp = ""
GoTo 20
Else
strtemp = Whole2(x) + "y"
If y > 0 Then strtemp = strtemp + Whole(y)
GoTo 20
End If
ElseIf Len(strNumber) = 3 Then
If x > 0 Then strtemp = strtemp + Whole(x) + " Hundred"
If y = 1 And z > 2 Then
strtemp = strtemp + Whole2(z) + "een"
GoTo 20
ElseIf y = 1 And z = 1 Then
strtemp = strtemp + " Eleven"
GoTo 20
ElseIf y = 1 And z = 2 Then
strtemp = strtemp + " Twelve"
GoTo 20
ElseIf y = 1 And z = 0 Then
strtemp = strtemp + " Ten"
GoTo 20
ElseIf x = 0 And y = 0 And z = 0 Then
strtemp = ""
GoTo 20
Else
End If
If y > 0 Then strtemp = strtemp + Whole2(y) + "y"
If z > 0 Then strtemp = strtemp + Whole(z)
End If
20 Getword = strtemp
End Function
Function Whole(ByVal x As Integer)
Select Case x
Case Is = 9
Whole = " Nine"
Case 8
Whole = " Eight"
Case 7
Whole = " Seven"
Case 6
Whole = " Six"
Case 5
Whole = " Five"
Case 4
Whole = " Four"
Case 3
Whole = " Three"
Case 2
Whole = " Two"
Case 1
Whole = " One"
End Select
End Function
Function Whole2(ByVal x As Integer)
Select Case x
Case Is = 9
Whole2 = " Ninet"
Case 8
Whole2 = " Eight"
Case 7
Whole2 = " Sevent"
Case 6
Whole2 = " Sixt"
Case 5
Whole2 = " Fift"
Case 4
Whole2 = " Fourt"
Case 3
Whole2 = " Thirt"
Case 2
Whole2 = " Twent"
End Select
End Function
Private Sub CommandButton1_Click()
Dim bigstrNumber(11)
Dim strAdd As String
Dim strNumber As String
Dim strtemp As String
TextBox1 = Abs(Int(TextBox1))
strNumber = TextBox1.Text
TextBox2 = ""
bigstrNumber(0) = ""
bigstrNumber(1) = " Thousand"
bigstrNumber(2) = " Million"
bigstrNumber(3) = " Billion"
bigstrNumber(4) = " Trillion"
bigstrNumber(5) = " Quadrillion"
bigstrNumber(6) = " Pentillion"
bigstrNumber(7) = " Hexillion"
bigstrNumber(8) = " Qentillion"
bigstrNumber(9) = " Octillion"
bigstrNumber(10) = " Nonillion"
bigstrNumber(11) = " Decillion"
If Len(strNumber) > 3 Then
Do While i < 36
m = m + 1
i = i + 3
If i >= Len(strNumber) Then Exit Do
Loop
c = i - Len(strNumber)
If c > 0 Then
For D = 1 To c
strAdd = strAdd + "0"
Next D
Else
End If
strNumber = strAdd + strNumber
k = 1
For i = 1 To m
TextBox2 = TextBox2 & Getword(Mid$(strNumber, k, 3))
If Mid$(strNumber, k, 3) <> "000" Then TextBox2 = TextBox2 & bigstrNumber(m - i)
k = k + 3
Next i
Else
End If
TextBox2 = Trim$(TextBox2 & Getword(strNumber))
TextBox1 = Format$(TextBox1, "###,###,###,###,###,###,###,###,###,###,###,###")
End Sub
No comments have been posted about This code coneverts a number into its word value. Example: 123,000 is converted to One Hundred Twen. Why not be the first to post a comment about This code coneverts a number into its word value. Example: 123,000 is converted to One Hundred Twen.