سلام
آیا کامپونتی وجود داره که اعداد رو به حروف برگردونه ؟؟
البته فارسی !
Printable View
سلام
آیا کامپونتی وجود داره که اعداد رو به حروف برگردونه ؟؟
البته فارسی !
فکر کنم کد زیر کارتو راه بندازه یه label بذار رو فرمت و یه textbox تو TextChange کنترل textbox کد زیر رو بذار
if (tbdigit1.Text.Length != 0)
{
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalDigits = 0;
tbdigit1.Text = Int64.Parse(tbdigit1.Text, NumberStyles.AllowThousands).ToString("N", nfi);
tbdigit1.Select(tbdigit1.Text.Length, 0);
label1.Text = numToStr(UInt64.Parse(tbdigit1.Text, NumberStyles.AllowThousands), 1);
}
else
label1.Text = "";
maxlength اون رو هم برابر 23 قرار بده
اینم تابع numtostr
private string numToStr(ulong num, int level)
{
string[][] numstr = new string[][]
{
new string[]{"صفر","یک","دو","سه","چهار","پنج" ,"شش","هفت","هشت","نه"},
new string[]{"ده","یازده","دوازده","سیزده"," چهارده","پانزده","شانزده","هف ده","هیجده","نوزده",
"بیست","سی","چهل","پنجاه","شست"," هفتاد","هشتاد","نود"},
new string[]{"","صد","دویست","سیصد","چهارصد", "پانصد","ششصد","هفتصد","هشتصد", "نهصد"} ,
new string[]{"هزار"},
new string[]{"میلیون"},
new string[]{"میلیارد"},
new string[]{"تریلیون"},
new string[]{"تریلیارد"},
};
switch (level)
{
case 1:
if (num < 10)
return numstr[0][Convert.ToInt32(num)];
else
{
if (num % 100 < 20 && num % 100 > 9)
{
if (num < 20)
return numstr[1][Convert.ToInt32(num % 10)];
else
return numToStr(num / 100, 3) + " و " + numstr[1][Convert.ToInt32(num % 10)];
}
else
return numToStr(num / 10, 2) + ((num % 10 != 0) ? " و " + numstr[0][Convert.ToInt32(num % 10)] : "");
}
case 2:
if (num < 10)
return numstr[1][Convert.ToInt32(num % 10 + 8)];
else
return numToStr(num / 10, 3) + ((num % 10 >= 2) ? " و " + numstr[1][Convert.ToInt32(num % 10 + 8)] : "");
case 3:
if (num < 10)
return numstr[2][Convert.ToInt32(num % 10)];
else
return numToStr(num / 10, 4) + ((num % 10 != 0) ? " و " : "") + numstr[2][Convert.ToInt32(num % 10)];
case 4:
if (num < 1000)
return numToStr(num, 1) + " " + numstr[3][0];
else
return numToStr(num / 1000, 5) + ((Convert.ToInt32(num % 1000) != 0) ? " و " + numToStr(num % 1000, 1) + " " + numstr[3][0] : "");
case 5:
if (num < 1000)
return numToStr(num, 1) + " " + numstr[4][0];
else
return numToStr(num / 1000, 6) + ((Convert.ToInt32(num % 1000) != 0) ? " و " + numToStr(num % 1000, 1) + " " + numstr[4][0] : "");
case 6:
if (num < 1000)
return numToStr(num, 1) + " " + numstr[5][0];
else
return numToStr(num / 1000, 7) + ((Convert.ToInt32(num % 1000) != 0) ? " و " + numToStr(num % 1000, 1) + " " + numstr[5][0] : "");
case 7:
if (num < 1000)
return numToStr(num, 1) + " " + numstr[6][0];
else
return numToStr(num / 1000, 8) + ((Convert.ToInt32(num % 1000) != 0) ? " و " + numToStr(num % 1000, 1) + " " + numstr[6][0] : "");
case 8:
if (num < 1000)
return numToStr(num, 1) + " " + numstr[7][0];
else
return "";
default:
return "";
}
}
جواب نداد !
زحمت بکش خودت تو فایل بزارش وقتی مطمئن شدی کار میکنه همین جا آپلود کن !
در ضمن من میخوام تو IE کنه ! گفتم احتمالا سوال مربوط میشه به CSHARP واسه همین تو قسمت asp.net مطرح نکردم !
کد بالا ، محشره.
خیلی عالیه ، تعجب کردم از این پست شما ، کاکتوس خان.
یکمی اگر زحمت می کشیدید ،خطاهایی که بهتون میداد رو چک می کردید قضیه حل بود.
فضای نام:
using System.Globalization;منظور از tbdigit1 همون textBox1 هست.
یک label هم باید روی فرم بگذارید.
خدائیش خیلی باحال بود. ممنون
این لینک، مربوط به یه کلاسه که یه سری ابزار فارسی از جمله تبدیل حروف به متن رو داره:
http://www.codeproject.com/cs/miscctrl/FarsiLibrary.asp
با اینکه زمانش گذشته، ولی شاید به جواب مطلوب نرسیده باشید، به هرحال من برای رفع ابهام از ارتباط پستم به این تاپیک بگم که پس از دانلود دموی مورد نظر و unzip کردن اون، اون رو اجراش کنید، میبینید که خیلی کارا انجام میده(از دکمه های زیادش معلومه)، بر روی دکمه ی other utils کلیک کنید در پنجره ای که ظاهر میشه عددتون رو بنویسید و دکمه ی تبدیل رو بزنید، میبینید که عدد رو به صورت متن فارسی براتون مینویسه، این دقیقا هدف این تاپیک بود، اینو برای اون دسته از افرادی گفتم که فکر میکردن این پست من به این تاپیک مربوط نمیشه.نقل قول:
این لینک، مربوط به یه کلاسه که یه سری ابزار فارسی از جمله تبدیل حروف به متن رو داره:
http://www.codeproject.com/cs/miscctrl/FarsiLibrary.asp
برنامه تبدیل عدد به حروف را از پست 174 لینک زیر دانلود نمایید. موفق باشید
https://barnamenevis.org/showth...188#post645188