بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در محاسبات نرم افزار تبدیل واحد
دوستان وقت بخیر
مشکلی که من دارم اینه که وقتی توی قسمت میلیمتر یا سانتی متر یا ... بعضی اعداد رو وارد میکنم و تبدیل میکنم یه اعشار بی منطقی مییاد آخر بقیه قسمت ها.بعنوان مثال وقتی توی قسمت میلیمتر عدد 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 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .