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

مشکل در محاسبات نرم افزار تبدیل واحد

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

دوستان وقت بخیر

مشکلی که من دارم اینه که وقتی توی قسمت میلیمتر یا سانتی متر یا ... بعضی اعداد رو وارد میکنم و تبدیل میکنم یه اعشار بی منطقی مییاد آخر بقیه قسمت ها.بعنوان مثال وقتی توی قسمت میلیمتر عدد 6 وارد میشه در قسمت سانتی متر می نویسه0.6000000000000001

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

      public void onClick(View arg0) {

                if (edtmm.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtmm.getText().toString());

                    edtmm.setText("" + value + " mm");
                    edtCm.setText("" + (value * 0.1) + " Cm");
                    edtM.setText("" + (value * 0.001) + " M");
                    edtKM.setText("" + (value * 0.000001) + " KM");
                    edtInch.setText(String.format("%.10s Inch", value * 0.03937008));
                    edtFoot.setText(String.format("%.10s Foot", value * 0.00328084));
                    edtYard.setText(String.format("%.10s Yard", value * 0.00109361));
                    edtMile.setText(String.format("%.10s Mile", value * 0.00000062));

                    return;
                }

                if (edtCm.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtCm.getText().toString());

                    edtmm.setText("" + (value * 10) + " mm");
                    edtCm.setText("" + (value) + " Cm");
                    edtM.setText("" + (value * 0.01) + " M");
                    edtKM.setText("" + (value * 0.00001) + " KM");
                    edtInch.setText(String.format("%.10s Inch", value * 0.39370079));
                    edtFoot.setText(String.format("%.10s Foot", value * 0.0328084));
                    edtYard.setText(String.format("%.10s Yard", value * 0.01093613));
                    edtMile.setText(String.format("%.10s Mile", value * 0.000006210));

                    return;

                }

                if (edtM.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtM.getText().toString());

                    edtmm.setText("" + (value * 1000) + " mm");
                    edtCm.setText("" + (value * 100) + " Cm");
                    edtM.setText("" + (value) + " M");
                    edtKM.setText("" + (value * 0.001) + " KM");
                    edtInch.setText(String.format("%.10s Inch", value * 39.37007874));
                    edtFoot.setText(String.format("%.10s Foot", value * 39.37007874));
                    edtYard.setText(String.format("%.10s Yard", value * 1.0936133));
                    edtMile.setText(String.format("%.10s Mile", value * 0.00062137));

                    return;
                }

                if (edtKM.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtKM.getText().toString());

                    edtmm.setText("" + (value * 1000000) + " mm");
                    edtCm.setText("" + (value * 100000) + " Cm");
                    edtM.setText("" + (value * 1000) + " M");
                    edtKM.setText("" + (value) + " KM");
                    edtInch.setText(String.format("%.10s Inch", value * 39370.07874016));
                    edtFoot.setText(String.format("%.10s Foot", value * 3280.83989501));
                    edtYard.setText(String.format("%.10s Yard", value * 1093.61329834));
                    edtMile.setText(String.format("%.10s Mile", value * 0.62137274));

                    return;
                }

                if (edtInch.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtInch.getText().toString());

                    edtmm.setText(String.format("%.10s mm", value * 25.4));
                    edtCm.setText(String.format("%.10s Cm", value * 2.54));
                    edtM.setText(String.format("%.10s M", value * 0.0254));
                    edtKM.setText(String.format("%.10s KM", value * 0.0000254));
                    edtInch.setText("" + (value) + " Inch");
                    edtFoot.setText(String.format("%.10s Foot", value * 0.08333333));
                    edtYard.setText(String.format("%.10s Yard", value * 0.02777778));
                    edtMile.setText(String.format("%.10s Mile", value * 0.00001578));

                    return;
                }

                if (edtFoot.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtFoot.getText().toString());

                    edtmm.setText(String.format("%.10s mm", value * 304.8));
                    edtCm.setText(String.format("%.10s Cm", value * 30.48));
                    edtM.setText(String.format("%.10s M", value * 0.3048));
                    edtKM.setText(String.format("%.10s KM", value * 0.0003048));
                    edtInch.setText(String.format("%.10s Inch", value * 12));
                    edtFoot.setText("" + (value) + " Foot");
                    edtYard.setText(String.format("%.10s Yard", value * 0.33333333));
                    edtMile.setText(String.format("%.10s Mile", value * 0.00018939));

                    return;
                }

                if (edtYard.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtYard.getText().toString());

                    edtmm.setText(String.format("%.10s mm", value * 914.4));
                    edtCm.setText(String.format("%.10s Cm", value * 91.44));
                    edtM.setText(String.format("%.10s M", value * 0.9144));
                    edtKM.setText(String.format("%.10s KM", value * 0.0009144));
                    edtInch.setText(String.format("%.10s Inch", value * 36));
                    edtFoot.setText(String.format("%.10s Foot", value * 3));
                    edtYard.setText("" + value + " Yard");
                    edtMile.setText(String.format("%.10s Mile", value * 0.00056818));

                    return;
                }

                if (edtMile.getText().toString().length() > 0) {

                    double value = Double.parseDouble(edtMile.getText().toString());

                    edtmm.setText(String.format("%.10s mm", value * 1609340));
                    edtCm.setText(String.format("%.10s Cm", value * 160934));
                    edtM.setText(String.format("%.10s M", value * 1609.34));
                    edtKM.setText(String.format("%.10s KM", value * 1.60934));
                    edtInch.setText(String.format("%.10s Inch", value * 63359.84251969));
                    edtFoot.setText(String.format("%.10s Foot", value * 5279.98687664));
                    edtYard.setText(String.format("%.10s Yard", value * 1759.99562555));
                    edtMile.setText("" + value + " Mile");

                    return;
                }

            }
0 0
دوستان لطفا راهنماییم کنید (9 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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