可能重复:
在java 中使用双精度保留精度在双精度中
移动小数位
例如,像这样简单:
public class WrongAnswer {
public static void main(String[] args) {
System.out.println(100*1.1);
}
}
Run Code Online (Sandbox Code Playgroud)
打印110.00000000000001而不是110.使用其他数字而不是100*1.1也会给出很多数字,最后一些随机数字不对.
有任何想法吗?
System.out.println(someArray);
Run Code Online (Sandbox Code Playgroud)
只给我一个地址,我假设它是存储值的地址。
System.out.println(Arrays.asList(someArray));
System.out.println(Arrays.toString(someArray));
Run Code Online (Sandbox Code Playgroud)
这两个都不能编译并说“找不到符号”,符号是:“变量数组”。
如何查看此数组中的值?
我似乎无法弄清楚为什么它打印不正确:
public class test3 {
public static void main(String[] args) {
double[] gens = {100, 200.1, 9.3, 10};
double d0 = 0;
double d1 = 0;
double d2 = 0;
double d3 = 0;
double d4 = 0;
double d5 = 0;
double d6 = 0;
double d7 = 0;
double d8 = 0;
double d9 = 0;
for (int i = 0; i < gens.length; i++) {
double percs = gens[i];
while (percs < -9 || 9 < percs) …Run Code Online (Sandbox Code Playgroud)