بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

اشکال این کد چیه که ارور NumberFormatException: Invalid double: میگیره ؟(حل شد)

مدیریت گفتگو
Mahan 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام لطفا یه نگاه به کد زیر بندازید.نمیدونم چرا فقط از if آخری (مربوط به edtFoot) ایراد میگیره و هنگام اجرا در امولایتور  کرش میکنه و ارور :  java.lang.NumberFormatException: Invalid double: "" میگیره از کد داخل if آخر

کد مورد نظر :

   btnConvert.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

double mm = 0;
String value = txtFocused.getText().toString();
if (edtMm.getText().toString().length() > 0) {
mm = Double.parseDouble(value);
}

if (edtCm.getText().toString().length() > 0) {
mm = Double.parseDouble(value) * 10.0;
}

if (edtFoot.getText().toString().length() > 0) {
mm = Double.parseDouble(value) * 304.80;

}

نظرات

مسعود فرمانی 10 سال پیش
مقدار متغیر value که حاوی محتوای txtFocused هست فرمت عددی نداره،احتمالا کاراکتر های غیر مجاز وارد میکنی...InputType رو Number بذار..
MeY3am 10 سال پیش
دوستمون درست میگن ولی شما قبل از مقدار دهی به متغیر value یه دابل کوتیشن" " بزار و با مقدار متغیرت جمعش کن یعنی اینجوری باشه String value = " " + txtFocused.getText().toString
Mahan 10 سال پیش
ممنون از جواب دوستان عزیز؛ inputType رو که از اول رو numberDecimal گذاشته بودم :آقا میثم کدشما رو هم تست کردم متاسفانه جواب نداد:: دوستان اگر مقدار دهی متغیر value مشکل داره چرا دستورات قبل از این خط ==> mm = Double.parseDouble(value) * 304.80; هیچگونه اروری ندارند و عملیات تبدیل رو بخوبی و بدون کرش کردن انجام میدن؟!
ابراهیم 10 سال پیش
سلام ماهان بعد از 304.80 یک d بزار ببین مشکلت حل می شه یا نه. در موردی String Values هم چون از متد toString استفاده کردی مشکلی نیست.
FSR 10 سال پیش
این کد مشکلی نداره یه عکس از محیط کلی برنامت بزار شاید مشکل از جایی دیگه ای باشه!
Mahan 10 سال پیش
ممنون از همه دوستان مشکل حل شد. درقسمت setOnFocusChangeListener مربوط به edtFoot -وقتی همه EditText ها رو با ("") ست کرده بودم txtFocused رو اشتباه مقداردهی کرده بودم
FSR 10 سال پیش
خوب خدا رو شکر !!!!!!!!! ا
FSR 10 سال پیش
فقط یه حل شد آخر تیتر سوالت بزار ممنون!

هنوز پاسخی ثبت نشده است


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