Java 获取包含复数小数的数组列表的和
我是Java的新手,正在寻求帮助。我有一个数组列表,如下所示:Java 获取包含复数小数的数组列表的和,java,math,arraylist,bigdecimal,Java,Math,Arraylist,Bigdecimal,我是Java的新手,正在寻求帮助。我有一个数组列表,如下所示: double number[]={19.1904990290,27.2646233344,51.4850317134} 我使用以下代码对数组列表求和并将其打印到控制台: int sumLeft = 0; System.out.println("Contents of leftside: " + number); for(double i: number) sumLeft += i; System.out.print
double number[]={19.1904990290,27.2646233344,51.4850317134}
我使用以下代码对数组列表求和并将其打印到控制台:
int sumLeft = 0;
System.out.println("Contents of leftside: " + number);
for(double i: number) sumLeft += i;
System.out.println("sum(left) = " + sumLeft);
我的成绩是97。我的问题是如何执行此操作以使我的答案正确?将
sumleet
定义为double
。这将解决您的问题
发动机罩下sumlefit+=i代码>做了类似的事情
sumleet=sumleet+(int)i
因此,您看到的问题。将sumLeft定义为double将解决您的问题
请注意,尽管计算机术语中的双精度有限,而且会以奇数的方式表示您的数字。如果精度很重要,您需要使用像BigDecimal
这样的东西
您可能知道,int
表示“整数”,即不含小数成分的整数。语言有时会进行隐式类型转换,因此,当存储值的变量是一个int
时,当您的数字是double
类型时,小数点后的部分会被截断
正如其他人所说,将sumlefit
更改为double可以避免这种情况。使用double
而不是int
?