رفتن به مطلب
  • 0

تبدیل حرف به عدد


phd.khosravi

سوال

سلام به دوستان

 

میخوام بدنم راهی هست که بشه حروف رو به عدد تبدیل کرد بعد جمعشون کرد‌؟

 

مثلا تو ادیت تکس بنویسی زکریا دکمه رو که زدی بیاد اول بیاد کاراکتر کاراکتر هر حرف رو به عدد مربوطه تبدیل کنه آخر سر هم این اعداد رو با هم جمع کنه

ز=2

ک = 8

ر=3

ی=5

ا=1

لینک ارسال
به اشتراک گذاری در سایت های دیگر

19 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

بنده برای izadi رو نوشتم :)  البته شماره هایی رو که به حروف دادم همینجوری دادم :)

میتونید ویرایش کنید و حروف دلخواه خودتون رو اضافه کنید با اعداد دلخواه !

EditText1 هم همون EditText ای هست که توش اسم رو مینویسیم :)

Label1 هم همون Label ای هست که جمع رو به ما نشون میده :)

	Dim fullchar As Int = EditText1.Text.Length
	Dim newstr As String = EditText1.Text
	newstr = newstr.Replace("i","9#").Replace("z","20#").Replace("a","1#").Replace("d","4#")
	
	Dim plus As Int = 0
	For i = 0 To fullchar-1
	Dim str() As String = Regex.Split("#",newstr)
	plus = plus + str(i)
	Label1.Text = plus
	Next

ادامش با خودتون

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فقط یه سوال  این Regex و Split دقیقا کارشون چیه و به چه دردی میخورن میشه لطفا یه توضیح مختصر بدین

میاد # ها رو از هم دیگه جدا میکنه !

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من مشکل نحوه انجام عملیاته

 

تو ادیت تکس مینویسم زکریا بعد باتن رو که زدم بیاد جمع عددی زکریا رو بهم نشون بده

 

ز=2

ک = 8

ر=3

ی=5

ا= 7

جمع اینها رو

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این عدد فرقی نمیکنه چی باشه؟؟

من یه الگوریتم واسه خودم تو ذهنم دارم که میتونم کتابخونش رو بسازم تا بصورت استاندارد حرف رو به عدد تبلدیل کنه و بالعکس.

ایده این الگوریتیم رو هم از یه جای جالب گرفتم.

مثلا اگه بنویسید: salam ، به شما میده:

111855586

دقیقا همین :oops:
لینک ارسال
به اشتراک گذاری در سایت های دیگر

تو برنامه میخوام هرکی اسمشو نوشت حمع عددی اسمو بدست بیاره بعد عدد هر چقد که شد یه چیزی نشون بده

مثلا بنویسه زکریا یا محمد یا هر اسم دیگه فرقی نداره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تو برنامه میخوام هرکی اسمشو نوشت حمع عددی اسمو بدست بیاره بعد عدد هر چقد که شد یه چیزی نشون بده

مثلا بنویسه زکریا یا محمد یا هر اسم دیگه فرقی نداره

الان این مثالی که من زدم به کارتون میاد؟؟؟

یعنی این کتابخونه رو بسازم خوبه واستون؟؟؟ :crazy:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نمیدونم شاید بدرد بخوره ولی من میخوام اسامی به صورت فارسی وارد بشه نه انگلیسی اگه مشکلی نیست که بسازین.. البته اگه به صورت کلاس باشه فکر کنم بهتره چون اگه دستکاری لازم باشه میتونم اعمال کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نمیدونم شاید بدرد بخوره ولی من میخوام اسامی به صورت فارسی وارد بشه نه انگلیسی اگه مشکلی نیست که بسازین.. البته اگه به صورت کلاس باشه فکر کنم بهتره چون اگه دستکاری لازم باشه میتونم اعمال کنم

مشکلی نیست ، هم حروف فارسی و هم حروف انگلیسی رو میتونه عدد کنه.

آخه کلاسش رو شما متوجه نمیشین ، شاید حتی دستکاری کنی داغون بشه.

یا شاید واسه فارسی و انگلیسی جدا ساختم ، پس منتظر باشید واسه کتابخونه....

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب اخه مشکل همینه داداش گلم چون هر حرف عدد خودشو داره مثلا ش = 1 و ح = 6 که برا این برنامه اینجوری میشه حالا برا برنامه دیگه ممکنه ح = 4 بشه و عدد تغییر کنه. نمخوام این حروف حتما فقط یه عدد مشخصی رو داشته باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یعنی مثلا حرف "ک" عدد مشخصی تو هر زمان نداره؟؟

اینجوری باید خودتون دیگه شرط گذاری کنید و یا با تابع رندم بهش عدد های مختلف بدین و ذخیره کنید...

یکم کار پیچیده میشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دقیقا ... الان من مثلا میام

ز = 2

ک = 7

ر = 2

ا = 1

ی = 6

 

رو برا برنامه تعریف میکنم

 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه ساب تعریف کن

برای تمام کاراکتر ها یه عدد تعریف کن

حالا کلمه گرفته شده رو تک تک جدا کن بفرست تو ساب عددشو برگردون

خیلی سادست که برادرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر


	
	Dim Sum(lbl21.Text.Length) As String
	
	For i = 0 To lbl21.Text.Length - 1
		Sum(i) = lbl21.Text.CharAt(i)
	Next

	
	Dim new As Int

	For j = 0 To Sum.Length-1
		new = new + Sum(j)
	Next

	Msgbox(new,"")

من به این صورت نوشتم حالا اگه جمع اعداد بیشتر از 9 شد میخوام دوباره بیاد جمع اعداد رو دوباره جمع کنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خیلی ممنون واقعا کد نویسیش آسون بود فقط چون اصول برنامه نویسی رو نمیدونم به مشکل بر میخورم همیشه....دست همه تون درد نکنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فقط یه سوال  این Regex و Split دقیقا کارشون چیه و به چه دردی میخورن میشه لطفا یه توضیح مختصر بدین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام میتونی بیای واسه کل حروف ها یه عدد تعین کنی

یعنی عدد رو بریزی توی یه اینتجر بعد بیای یه حرف رو بریزی توی استرین بعد بیای باهم چکشون کنی که اگه مثلا : گ بود 8 باشه بعد انو بنویسه

 

یا حق

لینک ارسال
به اشتراک گذاری در سایت های دیگر

میشه همینی که گفتی رو به صورت کد نویسی بگی لطفا.... یا اگه امکان داره یه سورس ساده بسازی بی زحمت

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینجوری مثلا:

dim s as string
dim j as int

j=1
s=گ

خوب حالا این دورو باهم برابر کن

if j=s then
عملیات مورد نظر
end if


یه همچین چیزی باید بشه

 

شرمنده کار دارم وقت نمیکنم سورس براتون تهیه کنم این یه مثال خیلی ساده هستش

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...