PDA

View Full Version : تبدیل عدد به حروف در Asp 3.0



Web Matrix Pro
شنبه 20 آبان 1385, 14:43 عصر
سلام بر بهترین ها
من یه کد میخوام که یه عد از فرم بگیره و ودر صفحهaction
عدد د تبدیل به حروف کنه
حتما با Asp 3.0 باشه
با تشکر
منتظرم

amirlol
شنبه 20 آبان 1385, 20:00 عصر
منظور به چه حرفی !!!
کاراکتر معالش در فارسی ؟

M-Gheibi
شنبه 20 آبان 1385, 23:08 عصر
نمونه کد برای اینکار پیش از این در بخش VB قرار گرفته است : تاپیک مرجع حل مشکلات زبان فارسی و سورسهای مربوطه (http://barnamenevis.org/forum/showthread.php?t=15209) - پست شماره (http://barnamenevis.org/forum/showpost.php?p=79269&postcount=10)10 (http://barnamenevis.org/forum/showpost.php?p=79269&postcount=10) - پست شماره 20 (http://barnamenevis.org/forum/showpost.php?p=79515&postcount=20) - پست شماره 63 (http://barnamenevis.org/forum/showpost.php?p=89662&postcount=63) - پست شماره 64 (http://barnamenevis.org/forum/showpost.php?p=89670&postcount=64)

internet2
یک شنبه 21 آبان 1385, 11:57 صبح
مثلا در یک text field عدد 1385 رو بگیره و در صفحه بعد بنویسه هزارو سیصدو هشتادوپنج

2-پست های مربوطه رو دیدم ولی همشون.net بود .

M-Gheibi
یک شنبه 21 آبان 1385, 21:19 عصر
دوست من اتفاقا کوچکترین شباهتی به کدهای دات نت نداشت! همگی در محیط Visual Basic 6 نوشته شده اند و قابل استفاده در ASP 3.0 نیز هستند ( توابع ).

be_kh
دوشنبه 20 آذر 1385, 18:40 عصر
می تونی از این برنامه ای که نوشتم استفاده کنی خیلی وقتی که آماده کردم و لی به درد میخوره تغییر ندادم ولی می تونی به جای sELECT cASE که استفاده شده آرایه به کار ببری
امبدوارم به دردت بخوره

internet2
یک شنبه 26 آذر 1385, 11:16 صبح
این سئوال خیلی هاست
البته مدیر سایت همه چی رو ربط میده به دات نت

کسی! بلد نیست

M-Gheibi
سه شنبه 05 دی 1385, 15:21 عصر
این سئوال خیلی هاست
البته مدیر سایت همه چی رو ربط میده به دات نت

کسی! بلد نیست
دوست من پس من اون بالا کد چی رو دادم ، کی گفته مربوط به دات نته ؟!!!!!

internet2
چهارشنبه 06 دی 1385, 13:25 عصر
جناب مدیر خودتون کدها رو آزمایش کنید ببینید سوالم همینه؟


سئوال :در یک صفحه از یک فیلد متنی یک عدد بگیره و در صفحه اکشن به حروف تبدیل کنه
من این کد رو میخوام!
اگه تو فایل پیوست باشه بی نظیره!!
MER30 از تمام زحمت های شما و وقت گذاشتن روی سایت

M-Gheibi
چهارشنبه 06 دی 1385, 21:20 عصر
با یه کم دقت میتونستید از همون کدها استفاده کنید ( با چند خط تغییر کد ) ، من نمونه تغییر داده شده یکی از کدهای صفحاتی که لینکشون رو دادم رو در زیر نوشتم :


<%
Const hezar = " هزار"
Const melun = " میلیون"
Const melyard = " میلیارد"
Const va = " و "

Public Function heji_adad(adad)
Dim hooroof
Dim SS 'sadgan
Dim hh 'hezargan
Dim mm 'melungan
Dim yy 'melyardgan
Dim STRadad
Dim LENadad

STRadad = adad
LENadad = Len(STRadad)

If adad = 0 Then
hooroof = "صفر"
ElseIf adad < 999 Then
hooroof = Adad_Heji(adad)
ElseIf adad < 999999 Then
If (adad Mod 1000 = 0) Then hooroof = Adad_Heji(Int(adad / 1000)) + hezar
If (adad Mod 1000 <> 0) Then hooroof = Adad_Heji(Int(adad / 1000)) + hezar + va + (Adad_Heji(adad Mod 1000))
ElseIf adad < 999999999 Then
SS = cint(Right(STRadad, 3))
hh = cint(Mid(STRadad, LENadad - 5, 3))
mm = cint(Left(STRadad, LENadad - 6))
If (SS = 0 And hh = 0) Then hooroof = Adad_Heji(mm) + melun
If (SS = 0 And hh <> 0) Then hooroof = Adad_Heji(mm) + melun + va + Adad_Heji(hh) + hezar
If (SS <> 0 And hh = 0) Then hooroof = Adad_Heji(mm) + melun + va + Adad_Heji(SS)
If (SS <> 0 And hh <> 0) Then hooroof = Adad_Heji(mm) + melun + va + Adad_Heji(hh) + hezar + va + Adad_Heji(SS)
ElseIf adad < 999999999999 Then
SS = cint(Right(STRadad, 3))
hh = cint(Mid(STRadad, LENadad - 5, 3))
mm = cint(Mid(STRadad, LENadad - 8, 3))
yy = cint(Left(STRadad, LENadad - 9))
If (SS = 0 And hh = 0 And mm = 0) Then hooroof = Adad_Heji(yy) + melyard
If (SS = 0 And hh = 0 And mm <> 0) Then hooroof = Adad_Heji(yy) + melyard + va + Adad_Heji(mm) + melun
If (SS = 0 And hh <> 0 And mm <> 0) Then hooroof = Adad_Heji(yy) + melyard + va + Adad_Heji(mm) + melun + va + Adad_Heji(hh) + hezar
If (SS <> 0 And hh <> 0 And mm <> 0) Then hooroof = Adad_Heji(yy) + melyard + va + Adad_Heji(mm) + melun + va + Adad_Heji(hh) + hezar + va + Adad_Heji(SS)
Else
hooroof = "عدد وارد شده بزرگتر از 999999999999 است"
End If
heji_adad = hooroof
End Function

Private Function Adad_Heji(adad)
Dim yekan
Dim dahgan
Dim sadgan
Dim behooroof
Dim heji(19)
Dim heji_dahgan(9)
Dim heji_sadgan(9)
'-------------------------------
heji(1) = "یک": heji(2) = "دو": heji(3) = "سه": heji(4) = "چهار": heji(5) = "پنج"
heji(6) = "شش": heji(7) = "هفت": heji(8) = "هشت": heji(9) = "نه": heji(10) = "ده"
heji(11) = "یازده": heji(12) = "دوازده": heji(13) = "سیزده": heji(14) = "چهارده": heji(15) = "پانزده"
heji(16) = "شانزده": heji(17) = "هفده": heji(18) = "هیجده": heji(19) = "نوزده"
'-------------------------------
heji_dahgan(1) = "ده"
heji_dahgan(2) = "بیست"
heji_dahgan(3) = "سی": heji_dahgan(4) = "چهل": heji_dahgan(5) = "پنجاه"
heji_dahgan(6) = "شصت": heji_dahgan(7) = "هفتاد": heji_dahgan(8) = "هشتاد"
heji_dahgan(9) = "نود"
'-------------------------------
heji_sadgan(1) = "یکصد": heji_sadgan(2) = "دویست": heji_sadgan(3) = "سیصد"
heji_sadgan(4) = "چهارصد": heji_sadgan(5) = "پانصد": heji_sadgan(6) = "ششصد"
heji_sadgan(7) = "هفتصد": heji_sadgan(8) = "هشتصد": heji_sadgan(9) = "نهصد"
'-------------------------------
yekan = adad Mod 10
dahgan = adad Mod 100
sadgan = Int(adad / 100)
'-------------------------------
If dahgan < 20 Then
If (sadgan = 0) Then behooroof = heji(dahgan)
If (sadgan <> 0) Then behooroof = heji_sadgan(sadgan) + va + heji(dahgan)
If (yekan = 0 And dahgan = 0) Then behooroof = heji_sadgan(sadgan)
Else
dahgan = (adad Mod 100) - yekan
If (sadgan = 0 And yekan = 0) Then behooroof = heji_dahgan(dahgan / 10)
If (sadgan = 0 And yekan <> 0) Then behooroof = heji_dahgan(dahgan / 10) + va + heji(yekan)
If (sadgan <> 0 And yekan = 0) Then behooroof = heji_sadgan(sadgan) + va + heji_dahgan(dahgan / 10)
If (sadgan <> 0 And yekan <> 0) Then behooroof = heji_sadgan(sadgan) + va + heji_dahgan(dahgan / 10) + va + heji(yekan)
End If

Adad_Heji = behooroof
End Function
%>

<%=heji_adad(1000000000000)%>

روز خوش

internet2
دوشنبه 11 دی 1385, 13:40 عصر
بسیار عالی دمت گرم
واقعا مدیر سایتی

با سپاس فراوان

s_ahmadneya
شنبه 16 آذر 1387, 18:54 عصر
برنامه تبدیل عدد به حروف را از پست 174 لینک زیر دانلود نمایید. موفق باشید

http://barnamenevis.org/forum/showthread.php?p=645188#post645188