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
Post a Comment