java - android EditText calculating wrong result -


i trying make simple app converts between celsius , fahrenheit:

i wrote 2 edittext, 1 input , output, have 2 buttons (toc , tof).

the code following:

public class mainactivity extends actionbaractivity {  private edittext edittext_input; private edittext edittext_output;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      edittext_input = (edittext) findviewbyid(r.id.input);     edittext_output = (edittext) findviewbyid(r.id.output);      button toc = (button) findviewbyid(r.id.c);     toc.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             string inputs = edittext_input.gettext().tostring();             double inputd = double.parsedouble(inputs);             double outputd = (5/9) * (inputd-32);             string outputs = string.valueof(outputd);              //toast.maketext(mainactivity.this,string.valueof(outputd),toast.length_long).show();             edittext_output.settext(outputs, textview.buffertype.editable);         }     });      button tof = (button) findviewbyid(r.id.f);     tof.setonclicklistener(new view.onclicklistener(){         @override         public void onclick(view v) {             string inputs = edittext_input.gettext().tostring();             double inputd = double.parsedouble(inputs);             double outputd = (9/5) * inputd + 32;             string outputs = string.valueof(outputd);              edittext_output.settext(outputs, textview.buffertype.editable);         }     });  } 

after clicking button toc, produces 0.0, , clicking button tof produce wrong result. set inputtype edittext numerdecimal, tried number still doesn't work.

i checked problem outputd, have no idea why outputd can't correct result.

could me?

when calculate double outputd = (5/9) * (inputd-32); compiler assumes 5 , 9 ints, 5/9 zero. if want compiler treat numbers doubles, should write double outputd = (5.0/9.0) * (inputd-32);. same applies second conversion - double outputd = (9/5) * inputd + 32;


Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

Rendering JButton to get the JCheckBox behavior in a JTable by using images does not update my table -