|
sorry没仔细看
public static void main (String args[]) {
double nums[] = {10.1,50.2,10.3,10.4,10.0};
BigDecimal result = new BigDecimal(0.0),average;
for(int i = 1;i < 6;i++) {
result = result.add(new BigDecimal(String.valueOf(nums[i - 1])));
average = result.divide(new BigDecimal(i),3,BigDecimal.ROUND_CEILING);
System.out.println("i is: " + i);
System.out.println("result is: "+result.doubleValue());
System.out.println("average is " + average.doubleValue());
System.out.println("===========================" ;
}
}
转换成String是因为计算机操作存储浮点数的时候会有问题(并不只是java语言有这个问题),换成string就没有精度的问题了 |
|