|
Note: This is an unedited contribution. If this article is inappropriate,
needs attention or copies someone else's work without reference then please
Report This Article
IntroductionIn computing world the convention used for grouping of digits are based on internationl standards which generally follows American practice. It means that digits are grouped in groups of two digits each i.e. thousands, millions, billions etc. However, people in India are habitual for groups of three, two, two... This groups forms the thousands, lakhs, crore etc. To solve this problem a function has already been posted on code project by me for converting any number to the groupings of thousands, lakhs, crores etc. in continuation of this the function here convert any number to the number in words with digit gropuping of thousands, lakhs, crores etc.
BACKGROUNDThis function in in Visual Basic and is based on the knowledge base article of Microsoft. The original article convert the number to the international digit grouping i.e. thousands, millions, billions etc.
USING THE CODEAs the function is written in Visual Basic the same may be used in nay application using visual basic as scripting launguage. For using the code in Excel, Word, Access simply copy and paste full code in the visual basic module and use the fuction.
HOW IT WORKSThe function is named as NumberToWords. This accepts a parameter of type variant. First the fuction checks the exsitance of decimal in the number passed as parameter. If decimal exsits it construct the word for paisa. After removing the decimal digits from the number it converts digits, tens and hundreds by using routine ConvertDigits, ConvertTens and ConvertHundreds respectively. It contrct and returns a string containing the number in words with rupees and pasia as prefix and suffix.
| You must Sign In to use this message board. |
|
| | Msgs 1 to 15 of 15 (Total in Forum: 15) (Refresh) | FirstPrevNext |
|
 |
|
|
There were some bugs in this functions, It was giving wrong results while converting below 99 numbers, Number when more than 13 digits before decimal point, Negetive numbers and while converting the numbers in which “00” are in place of thousand, lakhs…etc.
I tried to debug & got the results. Following is the modified code. '************************************************* 'This function is modified(Debuged) By Vidyadhar B.C. (vidyadhar_bc@yahoo.com) ' ' Function for conversion of a Currency to words ' Parameter - accept a Currency ' Returns the number in words format '*************************************************
Function CurrencyToWord(ByVal MyNumber) Dim Temp Dim Rupees, Paisa As String Dim DecimalPlace, iCount Dim Hundred, Words As String Dim ch As String Dim i As Integer Dim count As Integer Dim Alldigit As Balloon ReDim Place(9) As String Place(0) = " Thousand " Place(2) = " Lakh " Place(4) = " Crore " Place(6) = " Arab " Place(8) = " Kharab " On Error Resume Next ' Convert MyNumber to a string, trimming extra spaces. MyNumber = Trim(Str(MyNumber)) '==========================Modified================================ ' count "." if it is more than 1 For i = 1 To Len(MyNumber) If Mid$(MyNumber, i, 1) = "." Then count = count + 1 If count > 1 Then CurrencyToWord = "Invalid Currency....!" Exit Function End If End If Next i ' check all the digits are numbers Alldigits = True For i = 1 To Len(MyNumber) ' See if the next character is a non-digit. ch = Mid$(MyNumber, i, 1) If ch < "0" Or ch > "9" Or ch = "." Then If ch <> "." Then ' This is not a digit. Alldigits = False Exit For End If End If Next i If Alldigits = False Then CurrencyToWord = "Invalid Currency....!" Exit Function End If '====================================================================
' Find decimal place. DecimalPlace = InStr(MyNumber, ".") '==========================Modified================================== If DecimalPlace = 0 Then If Len(MyNumber) > 13 Then CurrencyToWord = "Value is too large, Function accepts 13 digits before decimal point" Exit Function End If End If '==================================================================== ' If we find decimal place... If DecimalPlace > 0 Then '==========================Modified================================== If DecimalPlace > 14 Then CurrencyToWord = "Value is too large, Function accepts 13 digits before decimal point" Exit Function End If '==================================================================== ' Convert Paisa Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) Paisa = " and " & ConvertTens(Temp) & " Paisa Only"
' Strip off paisa from remainder to convert. MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If ' Convert last 3 digits of MyNumber to Rupees in word. Hundred = ConvertHundred(Right(MyNumber, 3)) '==========================Modified============ If Len(MyNumber) <= 2 Then ' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3) MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else ' Strip off last three digits MyNumber = Left(MyNumber, Len(MyNumber) - 3) End If '==================================================================== iCount = 0 Do While MyNumber <> "" 'Strip last two digits Temp = Right(MyNumber, 2) If Len(MyNumber) = 1 Then Words = ConvertDigit(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 1)
Else '==========================Modified================================== If Temp <> "00" Then Words = ConvertTens(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 2) Else MyNumber = Left(MyNumber, Len(MyNumber) - 2) End If End If iCount = iCount + 2 Loop If Paisa = "" Then CurrencyToWord = "Rupees " & Words & Hundred & " Only." Else CurrencyToWord = "Rupees " & Words & Hundred & Paisa End If '===================================================================== End Function
' Conversion for Hundred '***************************************** Private Function ConvertHundred(ByVal MyNumber) Dim Result As String
' Exit if there is nothing to convert. If Val(MyNumber) = 0 Then Exit Function
' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3)
' Do we have a Hundred place digit to convert? If Left(MyNumber, 1) <> "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " End If
' Do we have a tens place digit to convert? If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else ' If not, then convert the ones place digit. Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If
ConvertHundred = Trim(Result) End Function
' Conversion for tens '***************************************** 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
Private Function ConvertDigit(ByVal MyDigit) 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
Vidyadhar
|
| Sign In·View Thread·PermaLink | 2.00/5 (2 votes) |
|
|
|
 |
|
|
I have tried to solve the problems. comment the paise if you do not want decimals.
Function CurrencyToWord(MyNumber)
Dim Temp Dim Rupees Dim Paisa Dim DecimalPlace Dim iCount Dim Hundreds Dim Words ReDim Place(9) Place(0) = " Thousand " Place(2) = " Lakh " Place(4) = " Crore " Place(6) = " Arab " Place(8) = " Kharab " On Error Resume Next ' Convert MyNumber to a string, trimming extra spaces. MyNumber = Trim(Str(MyNumber))
' Find decimal place. DecimalPlace = InStr(MyNumber, ".")
' If we find decimal place... If DecimalPlace > 0 Then ' Convert Paisa 'Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) Temp = Left(Mid(MyNumber, DecimalPlace + 1), 2) if Len(Temp) = 1 then Paisa = " and " & ConvertDigit(Temp) & " Paisa" else Paisa = " and " & ConvertTens(Temp) & " Paisa" end if
' Strip off paisa from remainder to convert. MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If If Cint(MyNumber) > 99 Then ' Convert last 3 digits of MyNumber to ruppees in word. Hundreds = ConvertHundreds(Right(MyNumber, 3)) 'MsgBox Hundreds & " Hundreds" ' Strip off last three digits MyNumber = Left(MyNumber, Len(MyNumber) - 3) iCount = 0 Do While MyNumber <> "" 'Strip last two digits 'MsgBox(MyNumber & " MyNumber") Temp = Right(MyNumber, 2) 'MsgBox(Temp & " Temp") If Len(MyNumber) = 1 Then Words = ConvertDigit(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 1)
Else Words = ConvertTens(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 2) End If if Trim(Words) = "Thousand" OR Trim(Words) = "Lakh" OR Trim(Words) = "Crore" OR Trim(Words) = "Arab" OR Trim(Words) = "Kharab" Then Words = "" end if 'MsgBox words & " words" iCount = iCount + 2 Loop Else Temp = MyNumber MsgBox Temp Words = ConvertTens(Temp) if Cint(Temp) = 1 then Words = "One" 'MyNumber = Left(MyNumber, Len(MyNumber) - 2) End if
CurrencyToWord = "Ruppees " & Words & Hundreds & Paisa & " only"
End Function
' Conversion for hundreds '***************************************** Private Function ConvertHundreds(MyNumber) Dim Result
' Exit if there is nothing to convert. If CInt(MyNumber) = 0 Then Exit Function
' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3)
' Do we have a hundreds place digit to convert? If Left(MyNumber, 1) <> "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " End If
' Do we have a tens place digit to convert? If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else ' If not, then convert the ones place digit. Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If
ConvertHundreds = Trim(Result) End Function
' Conversion for tens '***************************************** Private Function ConvertTens(MyTens) Dim Result
' Is value between 10 and 19? If Cint(Left(MyTens, 1)) = 1 Then Select Case Cint(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 Cint(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. if Len(MyTens) = 1 then Result = ConvertDigit(MyTens) else Result = Result & ConvertDigit(Right(MyTens, 1)) end if End If
ConvertTens = Result End Function
Private Function ConvertDigit(MyDigit) Select Case CInt(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
|
| Sign In·View Thread·PermaLink | 2.00/5 (1 vote) |
|
|
|
 |
|
|
Doesn't work correctly for numbers less than 3 digits..for instance 1 shows as One Thousand One 10 shows as Ten Thousand Ten 99 shows as Ninety Nine Thousand Ninety Nine
I tried correcting the code with a small IF condition as shown below. This condition may not work properly if you have decimal numbers. Works fine for me since I round off the numbers to 0 places and do not use the PAISE field. Also I have added the words "Only" at the end.
Edited version of the code :
Option Explicit
' Function for conversion of a Currency to words ' Parameter - accept a Currency ' Returns the number in words format '*************************************************
Function CurrencyToWord(ByVal MyNumber) Dim Temp Dim Rupees, Paisa As String Dim DecimalPlace, iCount Dim Hundreds, Words As String ReDim Place(9) As String Place(0) = " Thousand " Place(2) = " Lakh " Place(4) = " Crore " Place(6) = " Arab " Place(8) = " Kharab " On Error Resume Next ' Convert MyNumber to a string, trimming extra spaces. MyNumber = Trim(Str(MyNumber))
' Find decimal place. ' DecimalPlace = InStr(MyNumber, ".")
'==========disabled the decimal part============= ' If we find decimal place... ' If DecimalPlace > 0 Then ' Convert Paisa ' Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) ' Paisa = " and " & ConvertTens(Temp) & " Paisa"
' Strip off paisa from remainder to convert. ' MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) ' End If
'================================================ ' Convert last 3 digits of MyNumber to ruppees in word. Hundreds = ConvertHundreds(Right(MyNumber, 3)) '=========Added the IF condition below '=========to resolve the <3 shows thousand bug
If Len(MyNumber) >= 3 Then ' Strip off last three digits MyNumber = Left(MyNumber, Len(MyNumber) - 3) iCount = 0 Do While MyNumber <> "" 'Strip last two digits Temp = Right(MyNumber, 2) If Len(MyNumber) = 1 Then Words = ConvertDigit(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 1)
Else Words = ConvertTens(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 2) End If iCount = iCount + 2 Loop '================end of the if condition====== End If '========changed the display to show Rs. XYZ Only== CurrencyToWord = "Rs. " & Words & Hundreds & Paisa & " Only"
End Function
' Conversion for hundreds '***************************************** Private Function ConvertHundreds(ByVal MyNumber) Dim Result As String
' Exit if there is nothing to convert. If Val(MyNumber) = 0 Then Exit Function
' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3)
' Do we have a hundreds place digit to convert? If Left(MyNumber, 1) <> "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " End If
' Do we have a tens place digit to convert? If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else ' If not, then convert the ones place digit. Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If
ConvertHundreds = Trim(Result) End Function
' Conversion for tens '***************************************** 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
Private Function ConvertDigit(ByVal MyDigit) 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
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
It Doesn't work correctly for numbers less than 3 digits, along with that had some more bugs. otherwise the function is fantastic. Here are some modifications I did to debug the problem and it is working. Try it. Thanks for the author. '************************************************* 'This function is modified(Debuged) By Vidyadhar B.C. (vidyadhar_bc@yahoo.com) ' ' Function for conversion of a Currency to words ' Parameter - accept a Currency ' Returns the number in words format '*************************************************
Function CurrencyToWord(ByVal MyNumber) Dim Temp Dim Rupees, Paisa As String Dim DecimalPlace, iCount Dim Hundred, Words As String Dim ch As String Dim i As Integer Dim count As Integer Dim Alldigit As Balloon ReDim Place(9) As String Place(0) = " Thousand " Place(2) = " Lakh " Place(4) = " Crore " Place(6) = " Arab " Place(8) = " Kharab " On Error Resume Next ' Convert MyNumber to a string, trimming extra spaces. MyNumber = Trim(Str(MyNumber)) '==========================Modified================================ ' count "." if it is more than 1 For i = 1 To Len(MyNumber) If Mid$(MyNumber, i, 1) = "." Then count = count + 1 If count > 1 Then CurrencyToWord = "Invalid Currency....!" Exit Function End If End If Next i ' check all the digits are numbers Alldigits = True For i = 1 To Len(MyNumber) ' See if the next character is a non-digit. ch = Mid$(MyNumber, i, 1) If ch < "0" Or ch > "9" Or ch = "." Then If ch <> "." Then ' This is not a digit. Alldigits = False Exit For End If End If Next i If Alldigits = False Then CurrencyToWord = "Invalid Currency....!" Exit Function End If '====================================================================
' Find decimal place. DecimalPlace = InStr(MyNumber, ".") '==========================Modified================================== If DecimalPlace = 0 Then If Len(MyNumber) > 13 Then CurrencyToWord = "Value is too large, Function accepts 13 digits before decimal point" Exit Function End If End If '==================================================================== ' If we find decimal place... If DecimalPlace > 0 Then '==========================Modified================================== If DecimalPlace > 14 Then CurrencyToWord = "Value is too large, Function accepts 13 digits before decimal point" Exit Function End If '==================================================================== ' Convert Paisa Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) Paisa = " and " & ConvertTens(Temp) & " Paisa Only"
' Strip off paisa from remainder to convert. MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If ' Convert last 3 digits of MyNumber to Rupees in word. Hundred = ConvertHundred(Right(MyNumber, 3)) '==========================Modified============ If Len(MyNumber) <= 2 Then ' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3) MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else ' Strip off last three digits MyNumber = Left(MyNumber, Len(MyNumber) - 3) End If '==================================================================== iCount = 0 Do While MyNumber <> "" 'Strip last two digits Temp = Right(MyNumber, 2) If Len(MyNumber) = 1 Then Words = ConvertDigit(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 1)
Else '==========================Modified================================== If Temp <> "00" Then Words = ConvertTens(Temp) & Place(iCount) & Words MyNumber = Left(MyNumber, Len(MyNumber) - 2) Else MyNumber = Left(MyNumber, Len(MyNumber) - 2) End If End If iCount = iCount + 2 Loop If Paisa = "" Then CurrencyToWord = "Rupees " & Words & Hundred & " Only." Else CurrencyToWord = "Rupees " & Words & Hundred & Paisa End If '===================================================================== End Function
' Conversion for Hundred '***************************************** Private Function ConvertHundred(ByVal MyNumber) Dim Result As String
' Exit if there is nothing to convert. If Val(MyNumber) = 0 Then Exit Function
' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3)
' Do we have a Hundred place digit to convert? If Left(MyNumber, 1) <> "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " End If
' Do we have a tens place digit to convert? If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else ' If not, then convert the ones place digit. Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If
ConvertHundred = Trim(Result) End Function
' Conversion for tens '***************************************** 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
Private Function ConvertDigit(ByVal MyDigit) 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
Vidyadhar
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
I have coped this to Excel & now when i need to use this function, it gives Error Msg #name?
What do i Do?
-Pavan pavanghai@gmail.com
|
| Sign In·View Thread·PermaLink | 1.50/5 (2 votes) |
|
|
|
 |
|
|
Dear Mr. Agarwal,
It will be much easier if you could indicate what formula should be written in Excel/Access so that this module works.
I did download this script but could not get the output since I don't know what references you have used. However, after some tries managed to get the required output. Maybe you should put the usage formulae on top of the page itself so that the user may know how to use the formula.
=============> Used "=CurrencyToWord(1000)" which worked. =============<
However, I think you still need to include some more loops to take care of the following problem:
=currencytoword(100000001000), returns the output: Ruppees One Kharab Arab Crore Lakh One Thousand, which should actually read as "Ruppees One Kharab Once Thousand". There could be several other such combinations that needs to be corrected, which can be looked into only once used.
You may enhance this function as required.
Thanks
Suresh
-- modified at 1:33 Monday 9th October, 2006
|
| Sign In·View Thread·PermaLink | 2.33/5 (3 votes) |
|
|
|
 |
|
|
The coding is excellent but while converting lakhs and thousands it adds thousand to the end and also it doesnt convert single and double digits properly.
I made some modifications in the code and it is now functioning correct.
Please verify.
regards
S.PRAKASH
|
| Sign In·View Thread·PermaLink | 1.40/5 (5 votes) |
|
|
|
 |
|
|
The function had solved my problem but it does not work when u have 6 digit converion and the dows not work in terms of Thousad e.g : when u want to convert a number calld 500456
Result : it gives Rupees Five lakhs thousand Four Hundreds fifty six only
n such figures thousand should not come only
Otherswise rest all is fine Thanks
Tejas N Mistry
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
as when you add in module if 4th 5th digit is 00 then also Thousand word comes and if this for currency then it should Close with (Rupees........Only/-)
Regards, Pritesh
|
| Sign In·View Thread·PermaLink | 1.50/5 (2 votes) |
|
|
|
 |
|
|
I have copied the code given by you but I am unable to use it in access 2003. Can you help me by giving instructions on how to use the code in an Access 2003 Form
DMP
|
| Sign In·View Thread·PermaLink | 1.00/5 (2 votes) |
|
|
|
 |
|
|
I want to use the code for formdocs software available from www.formdocs.com. Is it possible and how.
|
| Sign In·View Thread·PermaLink | 2.00/5 (1 vote) |
|
|
|
 |
|
|
Function CurrencyToWord(ByVal MyNumber)
Above code converts 1 as Ruppees One Thousand One
Please advise
Krishna Kumar Menon
|
| Sign In·View Thread·PermaLink | 1.25/5 (4 votes) |
|
|
|
 |
|
|
This is a section for c++ only, I looked over it and it looks like you didn't do it visually, also I don't know any BASIC so I don't know how you did, although nice job/try.
Actual Linux Penguins were harmed in the creation of this message.
|
| Sign In·View Thread·PermaLink | 1.00/5 (1 vote) |
|
|
|
 |
|
|
Thankyou for your comment. I posted this article for Visual Basic Section only. This funtion has been written in VBA for MS Access/ MS Excel.
pkagarwal
|
| Sign In·View Thread·PermaLink | 2.00/5 (2 votes) |
|
|
|
 |
|
|
Thankyou for your comment. I posted this article for Visual Basic Section only. This funtion has been written in VBA for MS Access/ MS Excel.
pkagarwal
|
| Sign In·View Thread·PermaLink | 2.17/5 (6 votes) |
|
|
|
 |
|
|
General News Question Answer Joke Rant Admin
|