6 Months Free & No Setup Fees ASP.NET Hosting!
Skip Navigation Links
Home
Forum Home
Latest 50
Unanswered
Win Prizes
All Time Leaders
Jump to CategoryExpand Jump to Category
Login 
    Welcome Guest!
 Search Forum For :  
X
 Login
Please login to submit a new post, reply and edit exiting posts, see user profiles, and access more features. If you are not a registered member, Register here.
User Id / Email:
Password:  
Forgot Password | Forgot UserName
   Home » Visual Basic Language » numtostring fucntion error - not getting string for more than 99999.
       
Author Reply
ashokkumar ss
posted 1 posts
since Aug 31, 2010 
from

numtostring fucntion error - not getting string for more than 99999.

  Posted on: 31 Jan 2012       
this is the code i wrote for convering the emp salary from db that should be displayed in string format in emp pay slip. it works for people who are having salary below 99999. but while go for more than 99999, it throws wrong value, for one tenlac, it should show one million, but it shows one hundred and soooo..

pls advice..

here is the function..

<%

 

Function NumToString(nNumber)

 

 

 

Dim bNegative

 

Dim bHundred

 

 

 

If nNumber < 0 Then

 

    bNegative = True

 

End If

 

 

 

nNumber = Abs(Int(nNumber))

 

 

 

If nNumber < 1000 Then

 

    If nNumber \ 100 > 0 Then

 

        NumToString = NumToString & _

 

             NumToString(nNumber \ 100) & " Hundred"

 

        bHundred = True

 

    End If

 

    nNumber = nNumber - ((nNumber \ 100) * 100)

 

    Dim bNoFirstDigit

 

    bNoFirstDigit = False

 

    Select Case nNumber \ 10

 

        Case 0

 

            Select Case nNumber Mod 10

 

                Case 0

 

                    If Not bHundred Then

 

                        NumToString = NumToString & " Zero"

 

                    End If

 

                Case 1: NumToString = NumToString & " One"

 

                Case 2: NumToString = NumToString & " Two"

 

                Case 3: NumToString = NumToString & " Three"

 

                Case 4: NumToString = NumToString & " Four"

 

                Case 5: NumToString = NumToString & " Five"

 

                Case 6: NumToString = NumToString & " Six"

 

                Case 7: NumToString = NumToString & " Seven"

 

                Case 8: NumToString = NumToString & " Eight"

 

                Case 9: NumToString = NumToString & " Nine"

 

            End Select

 

            bNoFirstDigit = True

 

        Case 1

 

            Select Case nNumber Mod 10

 

                Case 0: NumToString = NumToString & " Ten"

 

                Case 1: NumToString = NumToString & " Eleven"

 

                Case 2: NumToString = NumToString & " Twelve"

 

                Case 3: NumToString = NumToString & " Thirteen"

 

                Case 4: NumToString = NumToString & " Fourteen"

 

                Case 5: NumToString = NumToString & " Fifteen"

 

                Case 6: NumToString = NumToString & " Sixteen"

 

                Case 7: NumToString = NumToString & " Seventeen"

 

                Case 8: NumToString = NumToString & " Eighteen"

 

                Case 9: NumToString = NumToString & " Nineteen"

 

            End Select

 

            bNoFirstDigit = True

 

        Case 2: NumToString = NumToString & " Twenty"

 

        Case 3: NumToString = NumToString & " Thirty"

 

        Case 4: NumToString = NumToString & " Forty"

 

        Case 5: NumToString = NumToString & " Fifty"

 

        Case 6: NumToString = NumToString & " Sixty"

 

        Case 7: NumToString = NumToString & " Seventy"

 

        Case 8: NumToString = NumToString & " Eighty"

 

        Case 9: NumToString = NumToString & " Ninety"

 

    End Select

 

    If Not bNoFirstDigit Then

 

        If nNumber Mod 10 <> 0 Then

 

            NumToString = NumToString & "-" & _

 

                         Mid(NumToString(nNumber Mod 10), 2)

 

        End If

 

    End If

 

Else

 

    Dim nTemp

 

    nTemp = 10 ^ 12 'trillion

 

    Do While nTemp >= 1

 

        If nNumber >= nTemp Then

 

            NumToString = NumToString & _

 

                         NumToString(Int(nNumber / nTemp))

 

            Select Case Int(Log(nTemp) / Log(10) + 0.5)

 

                Case 12: NumToString = NumToString & " Trillion"

 

                Case 9: NumToString = NumToString & " Billion"

 

                Case 6: NumToString = NumToString & " Million"

 

                Case 3: NumToString = NumToString & " Thousand"

 

            End Select

 

 

 

            nNumber = nNumber - (Int(nNumber / nTemp) * nTemp)

 

        End If

 

        nTemp = nTemp / 1000

 

    Loop

 

End If

 

 

 

If bNegative Then

 

    NumToString = " negative" & NumToString

 

End If

 

 

 

End Function

 

 

 

Function DollarToString(nAmount)

 

    Dim nDollar

 

    Dim nCent

 

 

 

    nDollar = Int(nAmount)

 

    nCent = (Abs(nAmount) * 100) Mod 100

 

 

 

    DollarToString = NumToString(nDollar) & " Dollar"

 

 

 

    If Abs(nDollar) <> 1 Then

 

        DollarToString = DollarToString & "s"

 

    End If

 

 

 

    DollarToString = DollarToString & " and" & _

 

                     NumToString(nCent) & " cent"

 

 

 

    If Abs(nCent) <> 1 Then

 

        DollarToString = DollarToString & "s"

 

    End If

 

 

 

End Function

 

 

 

Response.Write NumToString(1258966)

 

%>


       
Top Articles
View all »
6 Months Free & No Setup Fees ASP.NET Hosting!
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!

 Hosted by MaximumASP  |  Found a broken link?  |  Contact Us  |  Terms & conditions  |  Privacy Policy  |  Site Map  |  Advertise with us
Current Version: 5.2011.3.12
 © 1999 - 2012  Mindcracker LLC. All Rights Reserved