PDA

View Full Version : سوال: ایجاد کد سخت افزاری که فقط از اعداد باشه



rezarko
دوشنبه 14 اسفند 1391, 18:06 عصر
سلام . یه بار دیگه هم این تاپیکو زدم ولی کدی که بهم دادن سریال سی پی یو رو که شامل اعداد و حروف بود میاورد. من یه کد میخوام که فقط از اعداد باشه.
با تشکر

pedram.11
دوشنبه 14 اسفند 1391, 18:10 عصر
سلام، شما میتونی برای کاراکترهای غیر عددی از اعداد جایگزین استفاده کنی

rezarko
دوشنبه 14 اسفند 1391, 18:18 عصر
ممنون. میشه یه تکه از کدشو بزارید

pedram.11
دوشنبه 14 اسفند 1391, 18:39 عصر
string x = "0123459abcDEF";
for (int i = 0; i < x.Length; i++)
if (x[i] < 48 || x[i] > 57)
{
x = x.Remove(i, 1);
x = x.Insert(i, "0");
}

rezarko
دوشنبه 14 اسفند 1391, 19:04 عصر
ممنون. الان این کد چیکار میکنه؟

ali.bahrami
دوشنبه 14 اسفند 1391, 19:13 عصر
ممنون. الان این کد چیکار میکنه؟

دوست عزیز این کد میاد هرجا که یک حرف یا کاراکتری غیر عددی پیدا کرد حذف میکنه و به جای اون 0 میزاره

pedram.11
دوشنبه 14 اسفند 1391, 19:16 عصر
به جای هر کاراکتر غیر عددی 0 میزاره برای اینکار میتونید عدد متغیر هم در نظر بگیرید که با یه معادله کوچیک حل میشه:

string x = "0123459abcDEF";
for (int i = 0; i < x.Length; i++)
if (x[i] < 48 || x[i] > 57)
{
int ee = x[i] / 20 + 48;
x = x.Remove(i, 1);
x = x.Insert(i, Char.ConvertFromUtf32(ee));
}
(20 رو به دلخواه گذاشتم)

danialafshari
دوشنبه 14 اسفند 1391, 19:46 عصر
فکر کنم چون خروجی نداره متوجه نشد
اگر می خوای خروجیش رو ببینی به خط آخر اضافه کن :
MessageBox.Show(x.ToString());

rezarko
دوشنبه 14 اسفند 1391, 20:59 عصر
ممنون از راهنماییتون مشکلم بعد از مدتها حل شد. ولی وقتی عدد هاشو عوض میکنم مثلا به جای 20 میزارم 63 این جوری میشه:x = "֚׮י֚׮֚׮׮0001067օ"

pedram.11
دوشنبه 14 اسفند 1391, 21:21 عصر
شما نباید هر عددیو عوض کنید، کدهای اسکی کاراکترهای 0 تا 9 بین 48 تا 57 هستن توی شرط به اینصورت نوشتم که اگه کاراکتری خارج از این محدوده بود کاراکتر جایگزین قرار بده، اون عدد 20 فقط اختیاری هست که من ترجیح میدم بین 10 تا 30 باشه

daneshjo90
سه شنبه 15 اسفند 1391, 11:27 صبح
سلام

دوست عزیز به این قطعه کد نگاه کن متن داخل تکست باکس رو میگیره و به عدد تبدیل میکنه

ببین به دردت میخوره ؟

for (i = 0; i < test.Length; i++)
switch (test[i])
{
case 'A':
case 'a':
sum += 27;
continue;
case 'b':
case 'B':
sum += 28;
continue;
case 'c':
case 'C':
sum += 29;
continue;
case 'd':
case 'D':
sum += 30;
continue;
case 'E':
case 'e':
sum += 31 ;
continue;
case 'f':
case 'F':
sum += 32 ;
continue;
case 'G':
case 'g':
sum += 33 ;
continue;
case 'H':
case 'h':

sum += 34 ;
continue;
case 'i':
case 'I':
sum += 35 ;
continue;
case 'J':
case 'j':
sum += 10 ;
continue;
case 'K':
case 'k':
sum += 11 ;
continue;
case 'L':
case 'l':
sum += 12 ;
continue;
case 'M':
case 'm':
sum += 13 ;
continue;
case 'N':
case 'n':
sum += 14 ;
continue;
case 'O':
case 'o':
sum += 15 ;
continue;
case 'P':
case 'p':
sum += 16 ;
continue;
case 'Q':
case 'q':
sum += 17 ;
continue;
case 'R':
case 'r':
sum += 18 ;
continue;
case 'S':
case 's':
sum += 19 ;
continue;
case 'T':
case 't':
sum += 20 ;
continue;
case 'U':
case 'u':
sum += 21 ;
continue;
case 'v':
case 'V':
sum += 22 ;
continue;
case 'w':
case 'W':
sum += 23 ;
continue;
case 'x':
case 'X':
sum += 24 ;
continue;
case 'Y':
case 'y':
sum += 25 ;
continue;
case 'Z':
case 'z':
sum += 26 ;
continue;
case '0':
sum += 0 ;
continue;
case '1':
sum += 1;
continue;
case '2':
sum += 2;
continue;
case '3':
sum += 3;
continue;
case '4':
sum += 4;
continue;
case '5':
sum += 5;
continue;
case '6':
sum += 6;
continue;
case '7':
sum += 7;
continue;
case '8':
sum += 8;
continue;
case '9':
sum += 9;
continue;
}
MessageBox.Show(sum.ToString());


موفق باشی

esafb52
سه شنبه 15 اسفند 1391, 13:10 عصر
میشه با یه مثال اینو توضیح بدی؟!!!