آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

جدا کردن دو رقم دورقم یک عدد و ریختن مقدار دو عدد جدا شده تو یک متغیر اینتجر!

saeidhic  11 سال پیش  11 سال پیش
0 0

سلام دوستان وقتتون بخیر و شادی.
خب بدون حاشیه میرم سر اصل مطلب!:)

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

int value = 12345

حالا میخوام این عدد رو از سمت چپ دو رقم دو رقم جدا کنم.خودم یک راه حل پیدا کردم و براتون میذارم که اگه خواستید شما هم استفاده کنید:

int value = 12345
int splitedNumber = value / 10000 % 10 -------->این عدد اول از سمت چپ رو میده یعنی یک
int splitedNumber2 = value / 1000 %10 --------->این هم عدد دوم از سمت چپ 

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

String splitedNumber = "" + splitedNumber + "" + splitedNumber2
integer result = Integer.parsInt(splitedNumber

اما آیا راه آپتیمایز تر یا بهتری برای این کار نیست تا این همه محاسبات برای این راه صرف بشه؟؟؟؟

اگه کسی بلد هست لطفا راه نمایی کنید ممنون میشم دوستان :(

+1 0
سلام. دوست عزیز ، یکی از روش استفاده از دستور Substring هست که بایستی عدد مورد نظرت رو به رشته تبدیل کنی و بعدش روی کاراکترهای اون حرکت کنی. شاید هزینه بیشتری نسبت به روش بدست آوردن باقیمانده و خارج قسمت داشته باشه. اگر نمی دونید عددتون چند رقمی هست مجبورید از توان 10 و حلقه برای روشی که خودتون پیشنهاد دادید استفاده کنید که احتمالا این بار هزینه مراحل شما بیشتر خواهد بود. به امید موفقیت (11 سال پیش)
0 0
ممنون system32 عزیز اما من این راه شمارو امتحان کردم من نمیخوام که عدد رو به رشته تبدیل کنم در ضمن این راه شما مقدار boolean برگشت میده نه عدد :) باز هم ممنون از وقتی که برای سوالم گذاشتی (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
system32  11 سال پیش
+2 0

سلام

دوست عزیز متوجه منظورتون از برگشت مقدار boolean نشدم. 

به قطعه کد زیر توجه کنید. خروجی LOGCAT مقدار 12 هست. 

اگر در خط سوم مقادیر را تغییر دهیم و برابر 2,2 قرار دهیم خرجی برابر 34 خواهد بود. 

 int a = 123456;
 String b = a + "";
 String a1 = b.substring(0, 2);
 Log.i("LOG", "a1 Value is " + a1);

دستور خط سوم (substring(int start, int end از کاراکتر 0 به تعداد 2 کاراکتر را جدا می کند و در متغییر جدید ذخیره می کند. 

امیدوارم متوجه منظورم شده باشید. 

به امید موفقیت 

 

0 0
system 32 عزیز ممنون از پاسخت.من دقیقا همین راه رو رفتم اما من این رو داخل کدی میزدم که شرط بود و این مقدار بولین برمیگردوند فکر کنم اگه از همین استفاده کنم برنامم آپتیمایز تر باشه و مشکل مموری نداشته باشه ممنونم دوست خوبم :) :* (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .