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

درج جداکننده هزارتایی داخل رشته

122982  9 سال پیش  9 سال پیش
0 0

سلام

من یک عدد داخل رشته دارم میخام چک کنم اگه کاراکترهاش سه تا یا شش تا بود یک جداکننده داشته باشه:

1369 = 1،369

15000000 = 15،000،000

1000000000 = 1,000,0000

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

0 0
باید تبدیلش کنید به String و بعد توی یه حلقه ی for بزاریدش به طوری که از آخر به اول شمارش کنه 'for (int i = str.length; i > 0; i--)' و وقتی سه تا عدد رو شمرد یه کاما پشتش بزاره. یه دستور if هم بزارید که اگه آخرین کلمه بود هیچ کاری نکنه. (9 سال پیش)
0 0
for (int i = str.length; i > 0; i--) (9 سال پیش)
 برای این سوال 6 پاسخ وجود دارد.
پاسخ به سوال 
122982  9 سال پیش
0 0

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

پاسخ به سوال 
مسعود فرمانی  9 سال پیش
+3 0

از متد استاتیکِ format متعلق به کلاس String استفاده کنید.به این صورت :

 int number = 12345678;
String formattedNumber = String.format("%,d",number);



  1. علامت ',' بعد از '%' نقشِ placeHolder یا همون جانگهدار برای کاراکترِ ',' رو بازی میکنه و کاراکترِ 'd' هم placeHolder ای برای متغیرهای عددی است...
پاسخ به سوال 
k112  9 سال پیش
+1 0

با سلام , راه که زیاده برای نوشتن کد

 private static String formatNumber(int number) {
StringBuilder str = new StringBuilder();
int index = 0;
while(number>0) {
++index;
str.append(number%10);
number /= 10;
if(index==3) {
str.append(',');
index=0;
}
}
return str.reverse().toString();
}
پاسخ به سوال 
Criss  9 سال پیش
+2 0

این کد بین هر چهار عدد یک - قرار میده (مورد استفاده برای کارت های بانکی هست)  لینک

 
 String str = edtCard.getText().toString();
str = new StringBuilder(str).insert(str.length() - 4, "-").toString();
str = new StringBuilder(str).insert(str.length() - 9, "-").toString();
str = new StringBuilder(str).insert(str.length() - 14, "-").toString();
edtCard.setText(str);
پاسخ به سوال 
122982  9 سال پیش
0 0

من این کد رو استفاده کردم

 int number = 12345678;String formattedNumber = String.format("%,d",number);

حالا مشکلی که هست اینه که وقتی عدد از 1،000،000،000 بالا تر میره برنامه فورس کلوز میکنه و به همین خط اخطار میده فک کردم شاید از int بودنش باشه long کردم باز انداخت بیرون :مهم هم اعدادش نیست تعداد از 10 بالا تر رفت میندازه بیرون...!!!

ممنون میشم کمک کنید.

0 0
این مشکلی که اشاره کردید ارتباطی به استفاده از این متد نداره و شما میتونید حتی اعداد 100 رقمی رو هم به همین شکل 3 تا 3 تا جدا کنید...حتما جای دیگه ای از برنامه تون ایرادی وجود داره... (9 سال پیش)
پاسخ به سوال 
hosein  9 سال پیش
0 0

از کُد criss جان میشه راحت استفاده کرد که

بدین ترتیب:

 
 String str = "12345678912222232132";
        str = new StringBuilder(str).insert(str.length() - 3, ",").toString();
        str = new StringBuilder(str).insert(str.length() - 7, ",").toString();
        str = new StringBuilder(str).insert(str.length() - 11, ",").toString();
        str = new StringBuilder(str).insert(str.length() - 15, ",").toString();
        str = new StringBuilder(str).insert(str.length() - 19, ",").toString();
        str = new StringBuilder(str).insert(str.length() - 23, ",").toString();
        txt.setText(str);


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