Go Back   TechArena Community > Software > Windows Software
Become a Member!
Forgot your username/password?
Tags Active Topics RSS Search Mark Forums Read

Sponsored Links



Convert number to spell currency

Windows Software


Reply
 
Thread Tools Search this Thread
  #1  
Old 02-04-2011
Member
 
Join Date: Mar 2011
Posts: 52
Convert number to spell currency
  

Sometimes I taught to convert the numbers given in decimal to spell the currency. I want my system to spell the number given into Indian currency in rupees and paisa. For example I want to spell 45.25 as forty five rupees and twenty five paisa. I have just given a thought of it but if this is possible then would be better for me as I want to include this into my program. If there is any program written on any platform kindly let me know. Thanks in advance for any suggestion.

Reply With Quote
  #2  
Old 02-04-2011
Member
 
Join Date: Jun 2009
Posts: 1,518
Re: Convert number to spell currency

Given below is the program written for the Indian currency:
Code:
****************' Main Function *'**************** 
Function SpellNumbers(ByVal MyNumber) 
Dim Rupees, Paise, Temp 
Dim DecimalPlace, Count 
ReDim Place(9) As String 
Place(2) = " Thousand " 
Place(3) = " Lac " 
Place(4) = " Crore " 
Place(5) = " Arab " ' String representation of amount 
MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none 
DecimalPlace = InStr(MyNumber, ".") 
'Convert Paise and set MyNumber to Rupee amount 
If DecimalPlace > 0 Then 
Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)) 
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) 
End If 
Count = 1 
Do While MyNumber <> "" 
If Count = 1 Then Temp = GetHundreds(Right(MyNumber, 3)) 
If Count > 1 Then Temp = GetHundreds(Right(MyNumber, 2)) 
If Temp <> "" Then Rupees = Temp & Place(Count) & Rupees 
If Count = 1 And Len(MyNumber) > 3 Then 
MyNumber = Left(MyNumber, Len(MyNumber) - 3) 
Else 
If Count > 1 And Len(MyNumber) > 2 Then 
MyNumber = Left(MyNumber, Len(MyNumber) - 2) 
Else 
MyNumber = "" 
End If 
End If 
Count = Count + 1 
Loop 
Select Case Rupees 
Case "" 
Rupees = "No Rupees" 
Case "One" 
Rupees = "One Rupee" 
Case Else 
Rupees = Rupees & " Rupees" 
End Select 
Select Case Paise 
Case "" 
Paise = "" 
Case "One" 
Paise = " and One Paisa" 
Case Else 
Paise = " and " & Paise & " Paise" 
End Select 
SpellNumbers = Rupees & Paise 
End Function 
'******************************************* 
' Converts a number from 100-999 into text * 
'******************************************* 
Function GetHundreds(ByVal MyNumber) 
Dim Result As String 
If Val(MyNumber) = 0 Then Exit Function 
MyNumber = Right("000" & MyNumber, 3) 'Convert the hundreds place 
If Mid(MyNumber, 1, 1) <> "0" Then 
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " 
End If 
'Convert the tens and ones place 
If Mid(MyNumber, 2, 1) <> "0" Then 
Result = Result & GetTens(Mid(MyNumber, 2)) 
Else 
Result = Result & GetDigit(Mid(MyNumber, 3)) 
End If 
GetHundreds = Result 
End Function 
'********************************************* 
' Converts a number from 10 to 99 into text. * 
'********************************************* 
Function GetTens(TensText) 
Dim Result As String 
Result = "" 'null out the temporary function value 
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19 
Select Case Val(TensText) 
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 ' If value between 20-99 
Select Case Val(Left(TensText, 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 
Result = Result & GetDigit _ 
(Right(TensText, 1)) 'Retrieve ones place 
End If 
GetTens = Result 
End Function 
'******************************************* 
' Converts a number from 1 to 9 into text. * 
'******************************************* 
Function GetDigit(Digit) 
Select Case Val(Digit) 
Case 1: GetDigit = "One" 
Case 2: GetDigit = "Two" 
Case 3: GetDigit = "Three" 
Case 4: GetDigit = "Four" 
Case 5: GetDigit = "Five" 
Case 6: GetDigit = "Six" 
Case 7: GetDigit = "Seven" 
Case 8: GetDigit = "Eight" 
Case 9: GetDigit = "Nine" 
Case Else: GetDigit = "" 
End Select 
End Function
You will just need to copy and paste the above program
Reply With Quote
  #3  
Old 02-04-2011
Member
 
Join Date: Nov 2008
Posts: 1,192
Re: Convert number to spell currency

Friends you will have to copy and paste the function below into the excel sheet. Press ALT+F11 and paste and PRESS ALT+Q to save and then exit the function given below:

Code:
Option Explicit 
'Main Function 
Function SpellNumber(ByVal MyNumber) 
Dim Rupees, Paise, Temp 
Dim DecimalPlace, Count 
ReDim Place(9) As String 
Place(2) = " Thousand " 
Place(3) = " Million " 
Place(4) = " Billion " 
Place(5) = " Trillion " 
' String representation of amount. 
MyNumber = Trim(Str(MyNumber)) 
' Position of decimal place 0 if none. 
DecimalPlace = InStr(MyNumber, ".") 
' Convert paise and set MyNumber to Rupee amount. 
If DecimalPlace > 0 Then 
Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ 
"00", 2)) 
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) 
End If 
Count = 1 
Do While MyNumber <> "" 
Temp = GetHundreds(Right(MyNumber, 3)) 
If Temp <> "" Then Rupees = Temp & Place(Count) & Rupees 
If Len(MyNumber) > 3 Then 
MyNumber = Left(MyNumber, Len(MyNumber) - 3) 
Else 
MyNumber = "" 
End If 
Count = Count + 1 
Loop 
Select Case Rupees 
Case "" 
Rupees = "Zero Rupees" 
Case "One" 
Rupees = "One Rupee" 
Case Else 
Rupees = Rupees & " Rupees" 
End Select 
Select Case Paise 
Case "" 
Paise = " and Zero Paise" 
Case "One" 
Paise = " and One Paise" 
Case Else 
Paise = " and " & Paise & " Paise" 
End Select 
SpellNumber = Rupees & Paise 
End Function 

' Converts a number from 100-999 into text 
Function GetHundreds(ByVal MyNumber) 
Dim Result As String 
If Val(MyNumber) = 0 Then Exit Function 
MyNumber = Right("000" & MyNumber, 3) 
' Convert the hundreds place. 
If Mid(MyNumber, 1, 1) <> "0" Then 
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " 
End If 
' Convert the tens and ones place. 
If Mid(MyNumber, 2, 1) <> "0" Then 
Result = Result & GetTens(Mid(MyNumber, 2)) 
Else 
Result = Result & GetDigit(Mid(MyNumber, 3)) 
End If 
GetHundreds = Result 
End Function 

' Converts a number from 10 to 99 into text. 
Function GetTens(TensText) 
Dim Result As String 
Result = "" ' Null out the temporary function value. 
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... 
Select Case Val(TensText) 
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 ' If value between 20-99... 
Select Case Val(Left(TensText, 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 
Result = Result & GetDigit _ 
(Right(TensText, 1)) ' Retrieve ones place. 
End If 
GetTens = Result 
End Function 

' Converts a number from 1 to 9 into text. 
Function GetDigit(Digit) 
Select Case Val(Digit) 
Case 1: GetDigit = "One" 
Case 2: GetDigit = "Two" 
Case 3: GetDigit = "Three" 
Case 4: GetDigit = "Four" 
Case 5: GetDigit = "Five" 
Case 6: GetDigit = "Six" 
Case 7: GetDigit = "Seven" 
Case 8: GetDigit = "Eight" 
Case 9: GetDigit = "Nine" 
Case Else: GetDigit = "" 
End Select 
End Function
Reply With Quote
  #4  
Old 02-04-2011
Member
 
Join Date: Nov 2008
Posts: 996
Re: Convert number to spell currency

Formula which can be used to format values in Indian currency i.e. rupees is
Format: [>9999999]##\,##\,##\,###;[>99999]#\,##\,###;###,###
for example: for 1,23,456
1. You will need to first copy the text
2. Select the text format
3. Right click
4. Select format cell
5. Go to Number
6. Select custom
7. Paste the value in type box
Reply With Quote
Reply

  TechArena Community > Software > Windows Software
Tags: , , ,



Thread Tools Search this Thread
Search this Thread:

Advanced Search


Similar Threads for: "Convert number to spell currency"
Thread Thread Starter Forum Replies Last Post
How to convert number to text in excel Jevin Software Development 9 17-05-2012 06:42 PM
How to convert a decimal number into words in Excel using VBA? Gandhik Windows Software 3 27-11-2010 12:59 AM
How to convert vb .text to number format Brunoz Software Development 6 04-07-2009 09:18 PM
convert string to number in asp.net Texas Software Development 3 26-06-2009 09:55 AM
How to convert content into number ? Sean J Software Development 3 13-02-2009 10:08 AM


All times are GMT +5.5. The time now is 02:12 AM.