PDA

View Full Version : سوال: تبدیل حروف قارسی و انگلیسی و کاراکتر به عدد



sadaf_
یک شنبه 29 اسفند 1389, 16:37 عصر
1_متن 13pk3j55kldj+kj98
رو چطوری تبدیل به عدد کنم

2_متن "شرکت نمونه"
رو چطوری به عدد تبدیل کنم

ممنون

syntiberium
یک شنبه 29 اسفند 1389, 16:58 عصر
متن اول رو اینجوری :
http://barnamenevis.org/showthread.php?244594-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%DA%A9%D8%AF-%D8%A7%D8%B3%DA%A9%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1&p=1088444&viewfull=1#post1088444
متن دوم رو کد آماده ندارم اما اگر واقعا لازمت می شه به نظر من باید یه تابع درست کنی که وقتی یه حرف فارسی بهش می دی عدد برگردونه . یعنی تک تک حروف فارسی رو با ورودی تابع مقاسه کنی و به ازای هر حرفی یک عدد را return کنی .

sadaf_
یک شنبه 29 اسفند 1389, 17:44 عصر
اولی رو بهم جواب نداد میشه خودتون هم تست کنید
مرسی

syntiberium
یک شنبه 29 اسفند 1389, 18:44 عصر
با c# 2008 نوشتمش : 67731

Salar Ashgi
یک شنبه 29 اسفند 1389, 20:11 عصر
با آنکه سوالتان زیاد واضح و گویا نیست ولی صرفا برای کاری که میخواهید انجام دهید ، چند مثال نمونه میزنم (البته روشها طبیعتا زیاده) :


int Str_to_int(string str)
{
int sum = 0;
foreach (char c in str)
{
sum += (int)(c);
}
return sum;
}
//---------------------------
int Str_to_int2(string str)
{
return str.GetHashCode();
}
//---------------------------


موفق باشید ./

sadaf_
دوشنبه 01 فروردین 1390, 12:49 عصر
با سپاس فراوان از sysntiberium
خیلی عالی جواب داد
فقط یک سوال این به چی تبدیل می کنه یعنی این اعدادی که به دست می یاد چه اعدادی هستند ؟
آیا در تمام کامپیوتر ها اعداد یکسان هست یعنی در کامپیوتر من عدد صفر رو به 46 تبدیل می کنه در همه کامپیوتر ها صفر به 46 تبدیل می شه؟

و اگر هم ممکنه برای فارسی هم یک راهنمایی بکنید
ممنون

sadaf_
دوشنبه 01 فروردین 1390, 12:54 عصر
با آنکه سوالتان زیاد واضح و گویا نیست ولی صرفا برای کاری که میخواهید انجام دهید ، چند مثال نمونه میزنم (البته روشها طبیعتا زیاده) :


int Str_to_int(string str)
{
int sum = 0;
foreach (char c in str)
{
sum += (int)(c);
}
return sum;
}
//---------------------------
int Str_to_int2(string str)
{
return str.GetHashCode();
}
//---------------------------


موفق باشید ./

با تشکر از توجه شما
من طریقه استفاده از دستور رو متوجه نشدم
این دستور رو کچا باید بنویسم؟
ممنون

Salar Ashgi
دوشنبه 01 فروردین 1390, 23:48 عصر
من طریقه استفاده از دستور رو متوجه نشدم
این دستور رو کچا باید بنویسم؟

این دو متودی هستند برای تبدیل رشته به عدد و هر جا داخل کلاس Form تان می توانند تعریف شوند .

موفق باشید ./

میلاد قاضی پور
سه شنبه 02 فروردین 1390, 01:19 صبح
با آنکه سوالتان زیاد واضح و گویا نیست ولی صرفا برای کاری که میخواهید انجام دهید ، چند مثال نمونه میزنم (البته روشها طبیعتا زیاده) :


int Str_to_int(string str)
{
int sum = 0;
foreach (char c in str)
{
sum += (int)(c);
}
return sum;
}
//---------------------------
int Str_to_int2(string str)
{
return str.GetHashCode();
}
//---------------------------


موفق باشید ./

درسته اما من فکر میکنم برای اینکه اون عدد قابل برگشت به حالت اولیه باشه باید تمامی اعداد حاصل از کاراکتر ها در یک آرایه قرار بگیره و آیتمهای آرایه مرج بشن با هم .و برای اینکه اعداد در کنار هم قاطی نشن بهتره بعد از درج هر آیتم یک عدد خاص مثل 0 هم یکی در میون درج بشه که بعدا معلوم شه هر عدد قبل و بعد از صفر به چه کاراکتری اشاره میکنه . البته این از اختراعات خودمه کد شما کاملا درسته .