当计算2个双打时,Android平台上的1/81,返回0.01234567 *。星号是什么意思,我怎么能避免这样的输出?
a=Double.parseDouble(subexp.substring(ss, i));
b=Double.parseDouble(subexp.substring(i+1, se+1));
subexp=subexp.substring(0,ss).concat(Double.toString(a/b))
.concat(subexp.substring(se+1,subexp.length()));
所以基本上上面有一段违规代码,从调试器中获取了以下值:
subexp="1+1/81" (before code)
"1+0.01234567*" (after code)
ss=2, se=5, i=3, a=1.0, b=81.0
答案 0 :(得分:0)
不是智能手机,但如果您不想要星号,请在输出字符串之前立即尝试:
subexp = subexp.replaceAll("\\*", "");
如果您的结果需要比此更精细的内容,请提供更多信息和/或更完整的源代码,我会尝试调整我的答案。
我做了一个简单的项目来测试您发布的代码。我在控制台中打印出字符串,并将其放在TextView中。在这两个地方我得到“1 + 0.012345689012345678”,所以我似乎无法用星号复制你的结果。也许问题出在代码中的其他地方。