سلام
مثلا من عدد 13 را بدهم در یک "textbox" و به صورت حروف سیزده را بدهد!
تورو خدا هر کی میتونه بگه
من دانشجو آی تی هستم و باید این را تحوبل بدم
خیلییییییییییییییی ممنونم
Printable View
سلام
مثلا من عدد 13 را بدهم در یک "textbox" و به صورت حروف سیزده را بدهد!
تورو خدا هر کی میتونه بگه
من دانشجو آی تی هستم و باید این را تحوبل بدم
خیلییییییییییییییی ممنونم
کد زیر نمونه تبدیل شده از vb6 به دات نت هست که چند سالی هست ازش استفاده میکنم ولی میشه روش کار کنی از لحاظ کارایی بهتر بشه .
کد:Friend Class CLSAdad
#Region "convert_number_to_string"
'توابع تبديل عدد به معادل حروفي آن در زبان فارسي
'برنامه نويس : حميد آزادي اردکاني
'ويرايش اول : ارديبهشت 1380
' پست الکترونيک : azadi1355@yahoo.com
' آدرس وب : http://try.persianblog.com
Public Function Adad(ByVal Number As Double) As String
On Error Resume Next
Dim Flag As Boolean
Dim S As String = ""
Dim I, L As Byte
Dim K(4) As Double
If Number = 0 Then
Return "صفر"
End If
'Try
S = Trim(Str(Number))
L = Len(S)
If L > 15 Then
Adad = "بسيار بزرگ"
Return Adad
End If
For I = 1 To 15 - L
S = "0" & S
Next I
For I = 1 To Int((L / 3) + 0.99)
K(5 - I) = Val(Mid(S, 3 * (5 - I) + 1, 3))
Next I
Flag = False
S = ""
For I = 1 To 5
If K(I - 1) <> 0 Then
Select Case I
Case 1
S = S & Three(K(I - 1)) & " تريليون"
Flag = True
Case 2
S = S & IIf(Flag = True, " و ", "") & Three(K(I - 1)) & " ميليارد"
Flag = True
Case 3
S = S & IIf(Flag = True, " و ", "") & Three(K(I - 1)) & " ميليون"
Flag = True
Case 4
S = S & IIf(Flag = True, " و ", "") & Three(K(I - 1)) & " هزار"
Flag = True
Case 5
S = S & IIf(Flag = True, " و ", "") & Three(K(I - 1))
End Select
End If
Next I
Adad = S
'Catch ex As Exception
'End Try
Return S
If S = "" Then Return "صفر"
End Function
Function Three(ByVal Number As Integer) As String
Dim S As String = ""
Dim I, L As Long
Dim h(2) As Byte
'Dim Flag As Boolean
L = Len(Trim(Str(Number)))
If Number = 0 Then
Three = ""
End If
If Number = 100 Then
Three = "يکصد"
End If
If L = 2 Then h(1) = 0
If L = 1 Then
h(0) = 0
h(1) = 0
End If
For I = 1 To L
h(2 - I + 1) = Mid(Trim(Str(Number)), L - I + 1, 1)
Next I
Select Case h(0)
Case 1
S = "يکصد"
Case 2
S = "دويست"
Case 3
S = "سيصد"
Case 4
S = "چهارصد"
Case 5
S = "پانصد"
Case 6
S = "ششصد"
Case 7
S = "هفتصد"
Case 8
S = "هشتصد"
Case 9
S = "نهصد"
End Select
Select Case h(1)
Case 1
Select Case h(2)
Case 0
S = S & " و " & "ده"
Case 1
S = S & " و " & "يازده"
Case 2
S = S & " و " & "دوازده"
Case 3
S = S & " و " & "سيزده"
Case 4
S = S & " و " & "چهارده"
Case 5
S = S & " و " & "پانزده"
Case 6
S = S & " و " & "شانزده"
Case 7
S = S & " و " & "هفده"
Case 8
S = S & " و " & "هجده"
Case 9
S = S & " و " & "نوزده"
End Select
Case 2
S = S & " و " & "بيست"
Case 3
S = S & " و " & "سي"
Case 4
S = S & " و " & "چهل"
Case 5
S = S & " و " & "پنجاه"
Case 6
S = S & " و " & "شصت"
Case 7
S = S & " و " & "هفتاد"
Case 8
S = S & " و " & "هشتاد"
Case 9
S = S & " و " & "نود"
End Select
If h(1) <> 1 Then
Select Case h(2)
Case 1
S = S & " و " & "يک"
Case 2
S = S & " و " & "دو"
Case 3
S = S & " و " & "سه"
Case 4
S = S & " و " & "چهار"
Case 5
S = S & " و " & "پنج"
Case 6
S = S & " و " & "شش"
Case 7
S = S & " و " & "هفت"
Case 8
S = S & " و " & "هشت"
Case 9
S = S & " و " & "نه"
End Select
End If
S = IIf(L < 3, Right(S, Len(S) - 3), S)
Three = S
End Function
#End Region
End Class
می تونید از کدهای زیر استفاده کنید (زبان #C)
[PHP] #region GetNum2Text
private string GetNum2Text(string s)
{
if (string.IsNullOrEmpty(s))
return string.Empty;
var t = "";
if (s.Length == 0) return ("نامشخص");
if (s.Length == 1) s = "00000000000000" + s;
if (s.Length == 2) s = "0000000000000" + s;
if (s.Length == 3) s = "000000000000" + s;
if (s.Length == 4) s = "00000000000" + s;
if (s.Length == 5) s = "0000000000" + s;
if (s.Length == 6) s = "000000000" + s;
if (s.Length == 7) s = "00000000" + s;
if (s.Length == 8) s = "0000000" + s;
if (s.Length == 9) s = "000000" + s;
if (s.Length == 10) s = "00000" + s;
if (s.Length == 11) s = "0000" + s;
if (s.Length == 12) s = "000" + s;
if (s.Length == 13) s = "00" + s;
if (s.Length == 14) s = "0" + s;
if (s == "000000000000000") return ("صفر");
if (s.Substring(0, 3) != "000")
{
t = t + C3D((s.Substring(0, 3))) + " هزار";
if (s.Substring(3, 12) != "000000000000")
{
if (s.Substring(3, 3) != "000")
t = t + " و";
}
}
if (s.Substring(3, 3) != "000")
{
t = t + C3D((s.Substring(3, 3))) + " ميليارد";
if (s.Substring(6, 9) != "000000000") t = t + " و";
}
else
{
if (s.Substring(0, 3) != "000") t = t + " ميليارد و";
}
if (s.Substring(6, 3) != "000")
{
t = t + C3D((s.Substring(6, 3))) + " ميليون";
if (s.Substring(9, 6) != "000000") t = t + " و";
}
if (s.Substring(9, 3) != "000")
{
t = t + C3D((s.Substring(9, 3))) + " هزار";
if (s.Substring(12, 3) != "000") t = t + " و";
}
if (s.Substring(12, 3) != "000")
{
t = t + C3D((s.Substring(12, 3)));
}
return t;
}
public string C3D(string s)
{
if (s.Length == 0) return ("");
if (s.Length == 1) s = "00" + s;
if (s.Length == 2) s = "0" + s;
if (s == "000") return ("");
var haveVa = "";
if ((s.Substring(1, 2) != "00") && (s.Substring(0, 1) != "0")) haveVa = " و ";
var t = F1(s.Substring(0, 1)) + haveVa + F2(s.Substring(1, 2));
return t;
}
public string F1(string s)
{
var t = "";
switch (s)
{
case "0":
{ t = ""; break; }
case "1":
{
t = "يكصد";
break;
}
case "2":
{
t = "دويست";
break;
}
case "3":
{
t = "سيصد";
break;
}
case "4":
{
t = "چهارصد";
break;
}
case "5":
{
t = "پانصد";
break;
}
case "6":
{
t = "ششصد";
break;
}
case "7":
{
t = "هفتصد";
break;
}
case "8":
{
t = "هشتصد";
break;
}
case "9":
{
t = "نهصد";
break;
}
}
return t;
}
public string F2(string s)
{
var t = "";
if (s.Length == 0) return ("");
if (s.Length == 1) s = "0" + s;
switch (s)
{
case "00":
{ t = ""; break; }
case "01":
{
t = "يك";
break;
}
case "02":
{
t = "دو";
break;
}
case "03":
{
t = "سه";
break;
}
case "04":
{
t = "چهار";
break;
}
case "05":
{
t = "پنج";
break;
}
case "06":
{
t = "شش";
break;
}
case "07":
{
t = "هفت";
break;
}
case "08":
{
t = "هشت";
break;
}
case "09":
{
t = "نه";
break;
}
case "10":
{
t = "ده";
break;
}
case "11":
{
t = "يازده";
break;
}
case "12":
{
t = "دوازده";
break;
}
case "13":
{
t = "سيزده";
break;
}
case "14":
{
t = "چهارده";
break;
}
case "15":
{
t = "پانزده";
break;
}
case "16":
{
t = "شانزده";
break;
}
case "17":
{
t = "هفده";
break;
}
case "18":
{
t = "هجده";
break;
}
case "19":
{
t = "نوزده";
break;
}
case "20":
{
t = "بيست";
break;
}
case "21":
{
t = "بيست و يك";
break;
}
case "22":
{
t = "بيست و دو";
break;
}
case "23":
{
t = "بيست و سه";
break;
}
case "24":
{
t = "بيست و چهار";
break;
}
case "25":
{
t = "بيست و پنج";
break;
}
case "26":
{
t = "بيست و شش";
break;
}
case "27":
{
t = "بيست و هفت";
break;
}
case "28":
{
t = "بيست و هشت";
break;
}
case "29":
{
t = "بيست و نه";
break;
}
case "30":
{
t = "سي";
break;
}
case "31":
{
t = "سي و يك";
break;
}
case "32":
{
t = "سي و دو";
break;
}
case "33":
{
t = "سي و سه";
break;
}
case "34":
{
t = "سي و چهار";
break;
}
case "35":
{
t = "سي و پنج";
break;
}
case "36":
{
t = "سي و شش";
break;
}
case "37":
{
t = "سي و هفت";
break;
}
case "38":
{
t = "سي و هشت";
break;
}
case "39":
{
t = "سي و نه";
break;
}
case "40":
{
t = "چهل";
break;
}
case "41":
{
t = "چهل و يك";
break;
}
case "42":
{
t = "چهل و دو";
break;
}
case "43":
{
t = "چهل و سه";
break;
}
case "44":
{
t = "چهل و چهار";
break;
}
case "45":
{
t = "چهل و پنج";
break;
}
case "46":
{
t = "چهل و شش";
break;
}
case "47":
{
t = "چهل و هفت";
break;
}
case "48":
{
t = "چهل و هشت";
break;
}
case "49":
{
t = "چهل و نه";
break;
}
case "50":
{
t = "پنجاه";
break;
}
case "51":
{
t = "پنجاه و يك";
break;
}
case "52":
{
t = "پنجاه و دو";
break;
}
case "53":
{
t = "پنجاه و سه";
break;
}
case "54":
{
t = "پنجاه و چهار";
break;
}
case "55":
{
t = "پنجاه و پنج";
break;
}
case "56":
{
t = "پنجاه و شش";
break;
}
case "57":
{
t = "پنجاه و هفت";
break;
}
case "58":
{
t = "پنجاه و هشت";
break;
}
case "59":
{
t = "پنجاه و نه";
break;
}
case "60":
{
t = "شصت";
break;
}
case "61":
{
t = "شصت و يك";
break;
}
case "62":
{
t = "شصت و دو";
break;
}
case "63":
{
t = "شصت و سه";
break;
}
case "64":
{
t = "شصت و چهار";
break;
}
case "65":
{
t = "شصت و پنج";
break;
}
case "66":
{
t = "شصت و شش";
break;
}
case "67":
{
t = "شصت و هفت";
break;
}
case "68":
{
t = "شصت و هشت";
break;
}
case "69":
{
t = "شصت و نه";
break;
}
case "70":
{
t = "هفتاد";
break;
}
case "71":
{
t = "هفتاد و يك";
break;
}
case "72":
{
t = "هفتاد و دو";
break;
}
case "73":
{
t = "هفتاد و سه";
break;
}
case "74":
{
t = "هفتاد و چهار";
break;
}
case "75":
{
t = "هفتاد و پنج";
break;
}
case "76":
{
t = "هفتاد و شش";
break;
}
case "77":
{
t = "هفتاد و هفت";
break;
}
case "78":
{
t = "هفتاد و هشت";
break;
}
case "79":
{
t = "هفتاد و نه";
break;
}
case "80":
{
t = "هشتاد";
break;
}
case "81":
{
t = "هشتاد و يك";
break;
}
case "82":
{
t = "هشتاد و دو";
break;
}
case "83":
{
t = "هشتاد و سه";
break;
}
case "84":
{
t = "هشتاد و چهار";
break;
}
case "85":
{
t = "هشتاد و پنج";
break;
}
case "86":
{
t = "هشتاد و شش";
break;
}
case "87":
{
t = "هشتاد و هفت";
break;
}
case "88":
{
t = "هشتاد و هشت";
break;
}
case "89":
{
t = "هشتاد و نه";
break;
}
case "90":
{
t = "نود";
break;
}
case "91":
{
t = "نود و يك";
break;
}
case "92":
{
t = "نود و دو";
break;
}
case "93":
{
t = "نود و سه";
break;
}
case "94":
{
t = "نود و چهار";
break;
}
case "95":
{
t = "نود و پنج";
break;
}
case "96":
{
t = "نود و شش";
break;
}
case "97":
{
t = "نود و هفت";
break;
}
case "98":
{
t = "نود و هشت";
break;
}
case "99":
{
t = "نود و نه";
break;
}
} // switch (s)
return t;
}
#endregion[/PHP]