Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 算术输出中的星号_Java_Android - Fatal编程技术网

Java 算术输出中的星号

Java 算术输出中的星号,java,android,Java,Android,在android平台上计算2倍(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.l

在android平台上计算2倍(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

不想成为一个聪明人,但如果你只是不想要星号,请在输出字符串之前立即尝试以下操作:

subexp = subexp.replaceAll("\\*", "");
如果您的结果需要比这更详细的内容,请提供更多信息和/或更完整的源代码,我将尝试调整我的答案


我做了一个简单的项目来测试你的代码。我在控制台中打印了字符串,并将其放在文本视图中。在这两个地方我都得到了“1+0.012345689012345678”,所以我似乎无法用星号复制您的结果。问题可能出在代码的其他地方。

能否提供一个代码示例,说明如何计算和打印值?点后是否缺少零?根据*设置值的格式。您是否在代码中的任何地方使用了
NumberFormat
ter?1.5/81是正常的,但1.1/81给出的是0.0135),而1/81.1给出的是0.012330456226),这已经够奇怪了。我没有使用数字格式化程序。因此我创建了一个测试应用程序,并将内容视图设置为textview,其唯一目的是打印出1/81.0,结果与我的原始帖子相同。但当我在Android之外编译java程序,打印出1.0/81的值时,我得到了一个正常值。有人知道为什么吗?或者是一种解决方法?我不认为这与我的java安装或我的程序有任何关系,因为我仍然用一个简单的应用程序打印数字得到相同的结果。我想这一定与我的电脑或安卓系统的安装有关。奇怪的是,在使用1+1/81进行计算后,数字显示得很好,所以我想我可以手动更改输出,而不必放弃星号后面的数字。无论如何,谢谢你的回复。