اريد شكل الفورم عندما اعمل تحويل من ارقام احرف باستخدام asp.net
تحويل الارقام الى حروف باستخدام Asp.net
السلام عليكم :احنا جربنا هذا الكود واشتغل بس البوينت ما تظهر نريد يظهر البوينت مثال 12.400 يتحول الى twelve and four hundrads
Imports System
Imports System.Collections
Imports System.Data
Imports System.Diagnostics
Partial Class _Default
Inherits System.Web.UI.Page
Private ones As String() = New String(10) {}
Private Teens As String() = New String(10) {}
Private Tens As String() = New String(10) {}
Private Thousands As String() = New String(5) {}
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' will do the conversion On Click in English
Label3.Text = EnglishNumToText(TextBox1.Text, "")
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
InitNumbers()
End Sub
Private Sub InitNumbers()
'English Numbers
ones(0) = "zero"
ones(1) = "one"
ones(2) = "two"
ones(3) = "three"
ones(4) = "four"
ones(5) = "five"
ones(6) = "six"
ones(7) = "seven"
ones(8) = "eight"
ones(9) = "nine"
Teens(0) = "ten"
Teens(1) = "eleven"
Teens(2) = "twelve"
Teens(3) = "thirteen"
Teens(4) = "fourteen"
Teens(5) = "fifteen"
Teens(6) = "sixteen"
Teens(7) = "seventeen"
Teens(8) = "eighteen"
Teens(9) = "nineteen"
Tens(0) = ""
Tens(1) = "ten"
Tens(2) = "twenty"
Tens(3) = "thirty"
Tens(4) = "forty"
Tens(5) = "fifty"
Tens(6) = "sixty"
Tens(7) = "seventy"
Tens(8) = "eighty"
Tens(9) = "ninety"
Thousands(0) = ""
Thousands(1) = "thousand"
' US numbering
Thousands(2) = "million"
Thousands(3) = "billion"
Thousands(4) = "trillion"
End Sub
Public Function EnglishNumToText(ByVal Number As Long, ByVal LeadingString As String, ByVal LaggingString As String) As String
Dim nCol As Integer = 0, nChar As Integer = 0
Dim bAllZeros As Boolean = True
' Non-zero digit not yet encountered
Dim bShowThousands As Boolean = False
Dim strBuff As String = Nothing, strTemp As String = Nothing
Dim strVal As String = Number.ToString()
If Strings.Len(strVal) > 15 Then
strBuff = "#Error#"
Return strBuff
Else
' Trap errors
Try
' Iterate through string
Dim i As Integer = Strings.Len(strVal)
While i >= 1
' Get value of this digit
nChar = System.Convert.ToInt32(Conversion.Val(Strings.Mid(strVal, i, 1)))
' Get column position
nCol = (Strings.Len(strVal) - i) + 1
' Action depends on 1's, 10's or 100's column
Select Case (nCol Mod 3)
Case 1
bShowThousands = True
If i = 1 Then
' First digit in number (last in the loop)
strTemp = ones(nChar) & " "
ElseIf Strings.Mid(strVal, i - 1, 1) = "1" Then
' This digit is part of "teen" number
strTemp = Teens(nChar) & " "
i = i - 1
' Skip tens position
ElseIf nChar > 0 Then
' Any non-zero digit
strTemp = ones(nChar) & " "
Else
' This digit is zero. If digit in tens and hundreds column
' are also zero, don't show "thousands"
bShowThousands = False
' Test for non-zero digit in this grouping
If Strings.Mid(strVal, i - 1, 1) <> "0" Then
bShowThousands = True
ElseIf i > 2 Then
If Strings.Mid(strVal, i - 2, 1) <> "0" Then
bShowThousands = True
End If
End If
strTemp = ""
End If
' Show "thousands" if non-zero in grouping
If bShowThousands Then
If nCol > 1 Then
strTemp = strTemp + Thousands(nCol / 3)
If bAllZeros Then
strTemp = strTemp & " "
Else
strTemp = strTemp & ", "
End If
End If
' Indicate non-zero digit encountered
bAllZeros = False
End If
strBuff = strTemp + strBuff
Exit Select
Case 2
If nChar > 0 Then
If Strings.Mid(strVal, i + 1, 1) <> "0" Then
strBuff = (Tens(nChar) & " ") + strBuff
Else
strBuff = (Tens(nChar) & " ") + strBuff
End If
End If
Exit Select
Case 0
If nChar > 0 Then
strBuff = (ones(nChar) & " hundred ") + strBuff
End If
Exit Select
End Select
i += -1
End While
' Convert first letter to upper case
strBuff = Strings.UCase(Strings.Left(strBuff, 1)) + Strings.Mid(strBuff, 2)
' Return result
Return LeadingString + strBuff.TrimEnd() + LaggingString
Catch
'goto NumToTextError;
strBuff = "#Error#"
Return strBuff
End Try
End If
End Function
Public Function EnglishNumToText(ByVal Number As Long) As String
Return EnglishNumToText(Number, "")
End Function
Public Function EnglishNumToText(ByVal Number As Long, ByVal LeadingString As String) As String
Return EnglishNumToText(Number, LeadingString, "")
End Function
Public Function EnglishNumToText(ByVal Number As String, ByVal LeadingString As String, ByVal LaggingString As String) As String
Return EnglishNumToText(System.Convert.ToInt64(Conversion.Val(Number)), LeadingString, LaggingString)
End Function
Public Function EnglishNumToText(ByVal Number As String) As String
Return EnglishNumToText(Number, "")
End Function
Public Function EnglishNumToText(ByVal Number As String, ByVal LeadingString As String) As String
Return EnglishNumToText(Number, LeadingString, "")
End Function
End Class