الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحويل الارقام الى حروف باستخدام Asp.net

بدأه شمس الهدى في 14 فبراير 2009 · 2 رد · 834 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد شكل الفورم عندما اعمل تحويل من ارقام احرف باستخدام asp.net

#2

ماذا تعني بشكل الفورم؟؟

#3

السلام عليكم :احنا جربنا هذا الكود واشتغل بس البوينت ما تظهر نريد يظهر البوينت مثال 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

مواضيع مشابهة