Code for IndianRupee.aspx.VB
Partial Class IndianRupee
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = Spell(TextBox1.Text)
End Sub
' Converts a number from 100-999 into text
Function GetHundreds(ByVal MyNumber As String) As String
Dim Result As String
If Val(MyNumber) = 0 Then : Return "" : Exit Function : End If
MyNumber = Microsoft.VisualBasic.Strings.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(ByVal TensText As String) As String
Dim Result As String
Result = "" ' Null out the temporary function value.
If Val(Microsoft.VisualBasic.Strings.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(Microsoft.VisualBasic.Strings.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(Microsoft.VisualBasic.Strings.Right(TensText, 1)) ' Retrieve ones place.
End If
GetTens = Result
End Function
' Converts a number from 1 to 9 into text.
Function GetDigit(ByVal Digit As String) As String
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
Public Function Spell(ByVal Num As String) As String
Dim Total, DecimalPlace, Count As Integer
Dim Temp As String = ""
Dim Rupees As String = ""
Dim Paise As String = ""
Dim Place(9) As String
Num = Trim(Num)
DecimalPlace = InStr(Num, ".")
If DecimalPlace > 0 Then
Paise = GetTens(Microsoft.VisualBasic.Strings.Left(Mid(Num, DecimalPlace + 1) & "00", 2).ToString)
Num = Trim(Microsoft.VisualBasic.Strings.Left(Num, DecimalPlace - 1))
End If
Count = 1
Total = Num.Length
Do
If Total >= 8 And Total <= 9 Then
If Total = 9 Then
Temp = GetTens(Num.Substring(0, 2))
If Temp <> "" Then Rupees = Rupees & Temp & " Carores "
Num = Num.Remove(0, 2)
Else
Temp = GetDigit(Num.Substring(0, 1))
If Temp <> "" Then Rupees = Rupees & Temp & " Carore "
Num = Num.Remove(0, 1)
End If
''''''''''''''''''''''''''''''''''''''''
ElseIf Total >= 6 And Total <= 7 Then
If Total = 7 Then
Temp = GetTens(Num.Substring(0, 2))
If Temp <> "" Then Rupees = Rupees & Temp & " Lakhs "
Num = Num.Remove(0, 2)
Else
Temp = GetDigit(Num.Substring(0, 1))
If Temp <> "" Then Rupees = Rupees & Temp & " Lakh "
Num = Num.Remove(0, 1)
End If
'''''''''''''''''''''''''''''''''''''''''
ElseIf Total >= 4 And Total <= 5 Then
If Total = 5 Then
Temp = GetTens(Num.Substring(0, 2))
If Temp <> "" Then Rupees = Rupees & Temp & " Thousands "
Num = Num.Remove(0, 2)
Else
Temp = GetDigit(Num.Substring(0, 1))
If Temp <> "" Then Rupees = Rupees & Temp & " Thousand "
Num = Num.Remove(0, 1)
End If
''''''''''''''''''''''''''''''''''''''''''
ElseIf Total = 3 Then
Temp = GetDigit(Num.Substring(0, 1))
If Temp <> "" Then Rupees = Rupees & Temp & " Hundereds "
Num = Num.Remove(0, 1)
''''''''''''''''''''''''''''''''''''''''''
ElseIf Total = 2 Then
Temp = GetTens(Num.Substring(0, 2))
If Temp <> "" Then Rupees = Rupees & Temp
Num = Num.Remove(0, 2)
'''''''''''''''''''''''''''''''''''''''''''
ElseIf Total = 1 Then
Temp = GetDigit(Num.Substring(0, 1))
If Temp <> "" Then Rupees = Rupees & Temp
Num = Num.Remove(0, 1)
Else
Label1.Text = "Less Than 10 carore"
Exit Function
End If
Total = Num.Length
Loop While Num.Length > 0
Select Case Rupees
Case ""
Rupees = "No Rupee"
Case "One"
Rupees = "One Rupees"
Case Else
Rupees = Rupees & " Rupees"
End Select
Select Case Paise
Case ""
Paise = " and No Paise"
Case "One"
Paise = " and One Paise"
Case Else
Paise = " and " & Paise & " Paise"
End Select
Spell = Rupees & Paise
End Function
End Class
Code For IndianRupee.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="IndianRupee.aspx.vb" Inherits="IndianRupee" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Get Rupees in Words</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<center>
<table width="700px" border ="0">
<tr><td style="width: 140px">
Amount in Digits (9,2)</td>
<td><asp:TextBox ID="TextBox1" runat="server" MaxLength="12"></asp:TextBox></td>
</tr>
<tr><td style="width: 150px"> </td>
<td align="left">
<asp:Button ID="Button1" runat="server" Text="Button" /></td>
</tr>
<tr>
<td style="width: 150px">
Amount in Words</td>
<td>
<asp:Label ID="Label1" runat="server"></asp:Label></td>
</tr>
</table>
</center>
</div>
</form>
</body>
</html>