Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

i need it very soooooon

Posted on 2000-03-19
3
Medium Priority
?
157 Views
Last Modified: 2010-05-02
Hi experts
how can i change the contents of an textbox which are numaric to an letters in another textbox like:
textbox 1 : 102
textbox 2 : one handerd and two
0
Comment
Question by:loay
3 Comments
 

Expert Comment

by:lgadi
ID: 2633279
Hi
  Well, there's no really easy way I know, except writing a (quite simple) function that gets a number and return its representation in words, by means of divisions and remainders.
 
0
 
LVL 32

Expert Comment

by:Erick37
ID: 2633289
"Converting Numbers to Words"

http://www.vb-world.net/misc/tip108.html
0
 
LVL 9

Accepted Solution

by:
Dalin earned 150 total points
ID: 2633313
Try this:

1, add the foolowing functions:
  Function ConvertNumberToWord(ByVal vLgNumber) As String
 
 Dim lTemp As String
 Dim lTheNumber As String
 Dim lMyWord As String
 Dim place(9) As String
 Dim Count As Integer
 
 place(2) = " Thousand "
 place(3) = " Million "
 place(4) = " Billion "
 place(5) = " Trillion "

lTheNumber = Trim(Str(vLgNumber))
        Count = 1
        Do While lTheNumber <> ""
                ' Convert last 3 digits of lTheNumber to English word
                lTemp = ConvertHundreds(Right(lTheNumber, 3))
                If lTemp <> "" Then lMyWord = lTemp & place(Count) & lMyWord
                If Len(lTheNumber) > 3 Then
                        ' Remove last 3 converted digits from it
                        lTheNumber = Left(lTheNumber, Len(lTheNumber) - 3)
                    Else
                        lTheNumber = ""
                    End If
                Count = Count + 1
            Loop
   

ConvertNumberToWord = lMyWord
End Function
 Private Function ConvertDigit(ByVal MyDigit) As String
        Select Case Val(MyDigit)
             Case 1: ConvertDigit = "One"
             Case 2: ConvertDigit = "Two"
             Case 3: ConvertDigit = "Three"
             Case 4: ConvertDigit = "Four"
             Case 5: ConvertDigit = "Five"
             Case 6: ConvertDigit = "Six"
             Case 7: ConvertDigit = "Seven"
             Case 8: ConvertDigit = "Eight"
             Case 9: ConvertDigit = "Nine"
             Case Else: ConvertDigit = ""
          End Select
 End Function
 Private Function ConvertHundreds(ByVal vLgNumber)
            Dim Result As String
            ' Exit if there is nothing to convert.
            If Val(vLgNumber) = 0 Then Exit Function
            ' Append leading zeros to number.
                    vLgNumber = Right("000" & vLgNumber, 3)
                    ' Do we have a hundreds place digit to c
                    '     onvert?
                    If Left(vLgNumber, 1) <> "0" Then
                              Result = ConvertDigit(Left(vLgNumber, 1)) & " Hundred "
                          End If
                          ' Do we have a tens place digit to conve
                          '     rt?
                          If Mid(vLgNumber, 2, 1) <> "0" Then
                              Result = Result & ConvertTens(Mid(vLgNumber, 2))
                             
                          Else
                              ' If not, then convert the ones place di
                              '     git.
                              Result = Result & ConvertDigit(Mid(vLgNumber, 3))
                          End If
                          ConvertHundreds = Trim(Result)
                      End Function
 Private Function ConvertTens(ByVal MyTens)
                          Dim Result As String
                          ' Is value between 10 and 19?
                          If Val(Left(MyTens, 1)) = 1 Then
                              Select Case Val(MyTens)
                                  Case 10: Result = "Ten"
                                  Case 11: Result = "Eleven"
                                  Case 12: Result = "Twelve"
                                  Case 13: Result = "Thirteen"
                                  Case 14: Result = "Fourteen"
                                  Case 15: Result = "Fifteen"
                                  Case 16: Result = "Sixteen"
                                  Case 17: Result = "Seventeen"
                                  Case 18: Result = "Eighteen"
                                  Case 19: Result = "Nineteen"
                                  Case Else
                              End Select
                      Else
                          ' .. otherwise it's between 20 and 99.


                          Select Case Val(Left(MyTens, 1))
                              Case 2: Result = "Twenty "
                              Case 3: Result = "Thirty "
                              Case 4: Result = "Forty "
                              Case 5: Result = "Fifty "
                              Case 6: Result = "Sixty "
                              Case 7: Result = "Seventy "
                              Case 8: Result = "Eighty "
                              Case 9: Result = "Ninety "
                              Case Else
                          End Select
                      ' Convert ones place digit.
                      Result = Result & ConvertDigit(Right(MyTens, 1))
                      End If
                      ConvertTens = Result
                      End Function

2. to covert the number in text1 and display in Text 2

Text2.Text = ConvertNumberToWord(CLng(Text1.Text))
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question