taha1371 84 ارسال شده در 15 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 15 اسفند، ۱۳۹۵ سلام من دوتا ادیت تکس دارم و میخوام داخلشوعدد بزارم که سرقم سه رقم جدا باشن بعد جمشون کنم بریزمش تو یه تکس ویو چطوری سرقم سه رقم کنمشون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 19 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 19 اسفند، ۱۳۹۵ در 22 ساعت قبل، taha1371 گفته است : با تشکر اما شرمنده بازم مشکل اما اینبار 2 تا 1 اگه عدد بیشتر 3رقم باشه ارور میده 2 میخوام حاصل جمع که میاد داخل TextView بازم 100,234,123 اینجوری سه رقم سه رقم بشه بازم ممنونم خب حالا حل اون دوتا مشکل برای اولیش که گفتید بیشتر سه رقم اررور میده ببینید ما با اون کلسی که ساختیم به نام NumberTextWatcherForThousand و استفادش توی ادیت تکستدر واقع بهش گفتیم که توی ادیت تکست بعد از هر سه عدد که وارد شد خود به خود یه کاما اضافه کنه یعنی انگار خودمون اومدیم و کاما نوشتیم و در واقع این کاما بخشی از این متن هست واسه همین نمیشد روش عمل ریاضی انجام بدیم راه حل باید از DecimalFormat استفاده کنیم DecimalFormat df = new DecimalFormat("###,###,###,###,###,###,###,###"); خب ببینید ما الان یه DecimalFormat ساختیم و اسمشو گزاشتیم df و بهش فرمت دادیم این فرمت دقیقا باید با همونی که توی کلس NumberTextWatcherForThousand نوشته شده یکی باشن حالا کار این DecimalFormat این هست که میاد مثل یه صافی عمل میکنه و بهش متن ادیت تکست رو میدیم و میگیم که طبق اون فرمت که واسش تعریف کریم متن رو انالیز کنه حالا میخوایم عدد های توی این متن رو ازش استخراج کنیم و بتونیم باهاش عملیات ریاضی انجام بدیم برای انی کار باید یه try / catch ساده بنویسیم try { num = df.parse(matn).longValue(); } catch (ParseException e) { e.printStackTrace(); } همینجور که توی کد نوشتم در واقع گفتیم که بیاد و متغیر matn که تکست مربوط به Edittext ما هست رو بگیره و طبق اون فرمت که واسش تعریف کریم متن رو انالیز کنه و عدد هاش رو جدا کنه اوجا که نوشتم longValue در واقع خواستم عددهاش رو جدا کنه و بریزه توی متغیر num که از نوع Long تعریفش کردم حالا متغیر num یه متغیر عددی هست و هر کاری بخوام باهاش میکنم مثلا یه واحد بهش اضافه میکنم num = num + 1; الان باید این عددد رو دوباره برگردونم به حالت کاما دار ( همون فرمت ###,###,###,###,###,###,###,### ) برای اینکار بازم باید از Decimalformat استفاده کنم دفعه قبل ازش خواستم متن ازمون بگیره و عدد پس بده حالا برعکس عدد بهش میدیم و قالب متن رو ازش میخوایم TextView.setText(df.format(num)) دقت کنید که توی پرانتز باید همون متغیر عددی رو بدیم این دیگه اررور نمیده =========================================================================================================================================== اینم از سورس خودم MainActivity.java package com.example.fazelsbr.myapplication; import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import java.text.DecimalFormat; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.text.NumberFormat; import java.text.ParseException; import java.util.Locale; public class MainActivity extends Activity implements MainActivity2 { EditText editText ; Button btn; TextView TextView ; String matn ; Long num; @Override protected void onCreate(Bundle MainActivity2) { super.onCreate(MainActivity2); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.btn); editText = (EditText) findViewById(R.id.T1); TextView = (TextView) findViewById(R.id.tv); editText.addTextChangedListener(new NumberTextWatcherForThousand(editText)); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { matn = editText.getText().toString(); DecimalFormat df = new DecimalFormat("###,###,###,###,###,###,###,###"); try { num = df.parse(matn).longValue(); } catch (ParseException e) { e.printStackTrace(); } num = num + 1; TextView.setText(df.format(num)); } }); } اینم یه عکس از نتیجه کار موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 19 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 19 اسفند، ۱۳۹۵ بازم مشکل اگه فنت گوشی فارسی باشه مشکل پیدا میکنه جمع اشتبا میشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 20 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 20 اسفند، ۱۳۹۵ کسی نمیدونه چطوری میشه حلش کرد لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 23 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 23 اسفند، ۱۳۹۵ در در 1395/12/20, 11:57:08، taha1371 گفته است : کسی نمیدونه چطوری میشه حلش کرد عزیزان چرا لقمه را دور سر میچرخونید تو این لینک توضیح دادم به سادگی آب خوردن ... تبدیل عدد به رشته پول و برعکس لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 23 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 23 اسفند، ۱۳۹۵ در 3 ساعت قبل، حمید زارع گفته است : عزیزان چرا لقمه را دور سر میچرخونید تو این لینک توضیح دادم به سادگی آب خوردن ... تبدیل عدد به رشته پول و برعکس برادر من برای اندروید استدیئ میخوام لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 17 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 17 اسفند، ۱۳۹۵ کسی نیست کمک کنه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 17 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 17 اسفند، ۱۳۹۵ در در 1395/12/15, 16:31:43، taha1371 گفته است : سلام من دوتا ادیت تکس دارم و میخوام داخلشوعدد بزارم که سرقم سه رقم جدا باشن بعد جمشون کنم بریزمش تو یه تکس ویو چطوری سرقم سه رقم کنمشون سلام دوست عزیز با subString میشه انجامش داد به این شکل که میگید بیاد متن رو از ادیت تکست بگیره و اون سه رقم مد نظرتون از طریق substring ابتدا و انتهای بازه سه تایی رو بهش میدید و متن مورد نظرتون رو واستون جدا کنه و هر کاری خواستید باهاش انجام بدید android - Extract substring from a string - Stack Overflow منظورتون اینجوریه ؟! لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 18 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ سلام نه داداش اینجوری منظوزمه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 18 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ در 42 دقیقه قبل، taha1371 گفته است : سلام نه داداش اینجوری منظوزمه خب دوست عزیز از اول این عکسو میزاشتید خب ببینید یه کلس درست کنید به اسم NumberTextWatcherForThousand بعد این کد رو کپی کنید توش package com.example.fazelsbr.myapplication; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; import java.util.StringTokenizer; /** * Created by skb on 12/14/2015. */ public class NumberTextWatcherForThousand implements TextWatcher { EditText editText; public NumberTextWatcherForThousand(EditText editText) { this.editText = editText; } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { try { editText.removeTextChangedListener(this); String value = editText.getText().toString(); if (value != null && !value.equals("")) { if(value.startsWith(".")){ editText.setText("0."); } if(value.startsWith("0") && !value.startsWith("0.")){ editText.setText(""); } String str = editText.getText().toString().replaceAll(",", ""); if (!value.equals("")) editText.setText(getDecimalFormattedString(str)); editText.setSelection(editText.getText().toString().length()); } editText.addTextChangedListener(this); return; } catch (Exception ex) { ex.printStackTrace(); editText.addTextChangedListener(this); } } public static String getDecimalFormattedString(String value) { StringTokenizer lst = new StringTokenizer(value, "."); String str1 = value; String str2 = ""; if (lst.countTokens() > 1) { str1 = lst.nextToken(); str2 = lst.nextToken(); } String str3 = ""; int i = 0; int j = -1 + str1.length(); if (str1.charAt( -1 + str1.length()) == '.') { j--; str3 = "."; } for (int k = j;; k--) { if (k < 0) { if (str2.length() > 0) str3 = str3 + "." + str2; return str3; } if (i == 3) { str3 = "," + str3; i = 0; } str3 = str1.charAt(k) + str3; i++; } } public static String trimCommaOfString(String string) { // String returnString; if(string.contains(",")){ return string.replace(",","");} else { return string; } } } حالا کافیه برای ادیت تکستتون بنویسید editText.addTextChangedListener(new NumberTextWatcherForThousand(editText)); به همین سادگی اینم یه عکس لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 18 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ اگه بخوام دوتا باشه باهم جمع کنم چکار کنم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 18 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ در ۱ ساعت قبل، taha1371 گفته است : اگه بخوام دوتا باشه باهم جمع کنم چکار کنم اااااااااااااااااااااااااا همون یه دونه کلس که ساختی واسه همشون کافیه خب مشخصه دیگه یه ادیت تکست دیگه هم معرفی کنید و مثل همین ادیت تکست قبلی باهاش کار کنید هزار تا ادیت تکست دیگه هم تعریف کنید و همیجور باهاش کار کنید برای جمع کردن باید اول تبدیلشون کنی به عدد با این کد میتونی تبدیلش کنی Integer number1 ; Integer number2 ; number1 = Integer.parseInt(String.valueOf(editText1.getText())) number2 = Integer.parseInt(String.valueOf(editText2.getText())) حالا دیگه شد دو تا عدد باهم جمعشون کنید و هر کاری خواستید بکیند لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 18 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ ممنون از راهنمایی شما اما یه مشکل وقتی این دو خط کد میزارم ارور میده number1 = Integer.parseInt(String.valueOf(editText1.getText())); number2 = Integer.parseInt(String.valueOf(editText2.getText())); لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 18 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ در 3 ساعت قبل، taha1371 گفته است : ممنون از راهنمایی شما اما یه مشکل وقتی این دو خط کد میزارم ارور میده اول باید متن رو از EditText بگیرید و بریزید توی یه متغیر String چون متن توی EditText ، از نوع String نیست واسه همین اخرش toString. میزاریم String matn ; matn = editText.getText().toString(); الان باید متغیر String رو به متغیر int تبدیل کنیم تا بتونیم روش کارای ریاضی ( جمع کردن ) انجام بدیم مثلا ما اینجا یه عدد بهش اضاف میکنیم و میریزیمش توی یه متغیر عددی دیگه int Number1 ; int Number2 ; Number1 = Intrgrt.parseInt(matn); Number2 = Number + 1 ; وقتی کارامون باهاش تموم شد و خواستیم توی یه TextView نمایشش بدیم دوباره باید تبدیلش کنیم به متغیر String تا بتونیم نمایشش بدیم String matn2 matn2 = Integer.toString(Number2); TextView.setText(matn2); تموم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 18 اسفند، ۱۳۹۵ اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ . لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
taha1371 84 ارسال شده در 18 اسفند، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 18 اسفند، ۱۳۹۵ با تشکر اما شرمنده بازم مشکل اما اینبار 2 تا 1 اگه عدد بیشتر 3رقم باشه ارور میده 2 میخوام حاصل جمع که میاد داخل TextView بازم 100,234,123 اینجوری سه رقم سه رقم بشه بازم ممنونم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
taha1371 84
سلام من دوتا ادیت تکس دارم و میخوام داخلشوعدد بزارم که سرقم سه رقم جدا باشن بعد جمشون کنم بریزمش تو یه تکس ویو چطوری سرقم سه رقم کنمشون
لینک ارسال
به اشتراک گذاری در سایت های دیگر
15 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.