PDA

View Full Version : گرفتن دو عدد از ورودی و جمع آن



barnamenevisjavan
شنبه 28 تیر 1393, 23:19 عصر
سلام یه مشکلی با این موضوع پیدا کردم و نمیتونم حلش کنم (تازه کارم)
از 2 تا edittext از کاربر میخوام عدد بگیرم (امکان داره اعشاری هم باشه مثلا 56.5)
بعدش این 2 تا رو باهم جمع کنم و نتیجه رو توی یه TextView نمایش بدم از کد زیر استفاده کردم ولی نمیشه برنامه بسته میشه
int int1 = Integer.parseInt(txtw.getText().toString());
int int2 = Integer.parseInt(txtg.getText().toString());
int sum = int1 + int2;
txt.setText(sum);

#root#
شنبه 28 تیر 1393, 23:31 عصر
متد setText فقط رشته میپذیره ، راه حل :
txt.setText(""+sum);
// یا
txt.setText(String.valueOf(sum));

barnamenevisjavan
شنبه 28 تیر 1393, 23:41 عصر
متد setText فقط رشته میپذیره ، راه حل :
txt.setText(""+sum);
// یا
txt.setText(String.valueOf(sum));
ممنون مشکل حل شد

amin_nez
شنبه 28 تیر 1393, 23:44 عصر
سلام یه مشکلی با این موضوع پیدا کردم و نمیتونم حلش کنم (تازه کارم)
از 2 تا edittext از کاربر میخوام عدد بگیرم (امکان داره اعشاری هم باشه مثلا 56.5)
بعدش این 2 تا رو باهم جمع کنم و نتیجه رو توی یه TextView نمایش بدم از کد زیر استفاده کردم ولی نمیشه برنامه بسته میشه
int int1 = Integer.parseInt(txtw.getText().toString());
int int2 = Integer.parseInt(txtg.getText().toString());
int sum = int1 + int2;
txt.setText(sum);


اول اینکه EditText هاتون رو از نوع numberDecimal درنظر بگیرید
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" />
دوم برای جمع اشعاری به جای Integer باید از کلاس Float استفاده کنید.
float float1=Float.valueOf(editText1.getText().toString( ));
float float2=Float.valueOf(editText2.getText().toString( ));
float sum=float1+float2;


و نهایتا برای تغییر مقدار txt چون فقط String میگیره باید sum تبدیل به String بشه

txt.setText(String.valueOf(sum));