android - JAVA: Double.parseDouble + Double.parseDouble = String -


i have problem in program: when this:

double = double.parsedouble(zero); double b = double.parsedouble(data); double c = a+b; string d = double.tostring(c); 

it returns me string. example, have 0.0 in a , 4.0 in b , returns 0.04.0.

can explain me why , should instead?

edited: here code:

private void writemedia(string data) {     try {         outputstreamwriter outputstreamwriter = new outputstreamwriter(openfileoutput("writemedia.txt", context.mode_private));         string zero;         if(readmedia().isempty() == true)         {             0 = "0.0";             outputstreamwriter.write(zero);         }         else {zero = readmedia();}         double = double.parsedouble(zero);         double b = double.parsedouble(data);         double c = a+b;         string d = double.tostring(c);         outputstreamwriter.write(d);          outputstreamwriter.close();       } catch (ioexception e) {         log.e("exception", "file write failed: " + e.tostring());     } }   private string readmedia() {       string ret = "";      try {         inputstream inputstream = openfileinput("writemedia.txt");          if (inputstream != null) {             inputstreamreader inputstreamreader = new inputstreamreader(inputstream);             bufferedreader bufferedreader = new bufferedreader(inputstreamreader);             string receivestring = "";             stringbuilder stringbuilder = new stringbuilder();              while ((receivestring = bufferedreader.readline()) != null) {                 stringbuilder.append(receivestring);             }              inputstream.close();             ret = stringbuilder.tostring();         }     } catch (filenotfoundexception e) {         log.e("login activity", "file not found: " + e.tostring());     } catch (ioexception e) {         log.e("login activity", "can not read file: " + e.tostring());     }      return ret; } private void writetofile(string data) {     try {         outputstreamwriter outputstreamwriter = new outputstreamwriter(openfileoutput("estrela.txt", context.mode_private));         outputstreamwriter.write(data);         outputstreamwriter.close();         writemedia(data);      } catch (ioexception e) {         log.e("exception", "file write failed: " + e.tostring());     } }   private string readfromfile() {      string ret = "";      try {         inputstream inputstream = openfileinput("estrela.txt");          if (inputstream != null) {             inputstreamreader inputstreamreader = new inputstreamreader(inputstream);             bufferedreader bufferedreader = new bufferedreader(inputstreamreader);             string receivestring = "";             stringbuilder stringbuilder = new stringbuilder();              while ((receivestring = bufferedreader.readline()) != null) {                 stringbuilder.append(receivestring);             }              inputstream.close();             ret = stringbuilder.tostring();         }     } catch (filenotfoundexception e) {         log.e("login activity", "file not found: " + e.tostring());     } catch (ioexception e) {         log.e("login activity", "can not read file: " + e.tostring());     }     writemedia(ret);     return ret; } 

the data ratingbar, 0 "0" when start app , should save rating bar "increment"(don't know english word). thought easy since bug me i'll put tag android studio.

here call method:

        button.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             rating = ratingbar.getrating();             writetofile(double.tostring(rating));              writemyarray(double.parsedouble(readfromfile()));             writemyarray(ratingbar.getrating());             button.settext(gettext(r.string.obrigado) + "!" + readfromfile() + " " + media(arraydays)  + " " + readmedia());          }     }); 

it returns me "0.0" , ratingbar together, example: "0.05.0"

your problem not related types (other guessed) , not in code posted.

instead, writing 2 numbers output stream. following code writes 0.0:

    if(readmedia().isempty() == true)     {         0 = "0.0";         outputstreamwriter.write(zero);     } 

and, in addition that, following code writes result actually want:

    double = double.parsedouble(zero);     double b = double.parsedouble(data);     double c = a+b;     string d = double.tostring(c);     outputstreamwriter.write(d); 

Comments

Popular posts from this blog

android - Pass an Serializable object in AIDL -

How to provide Authorization & Authentication using Asp.net, C#? -

How to use Authorization & Authentication in Asp.net, C#? -