用java实现若干个数计算平均值,并 四舍五入模式,保留若干位小数。
时间: 2023-04-02 14:03:45 浏览: 80
您好,可以使用以下代码实现:
```java
import java.math.BigDecimal;
public class Average {
public static void main(String[] args) {
double[] nums = {1.2, 2.3, 3.4, 4.5, 5.6};
int scale = 2; // 保留两位小数
BigDecimal sum = new BigDecimal();
for (double num : nums) {
sum = sum.add(new BigDecimal(Double.toString(num)));
}
BigDecimal avg = sum.divide(new BigDecimal(nums.length), scale, BigDecimal.ROUND_HALF_UP);
System.out.println(avg);
}
}
```
以上代码使用 BigDecimal 类来进行精确计算,并使用 ROUND_HALF_UP 模式进行四舍五入。
相关问题
实现若干个数计算平均值,并 四舍五入模式,保留若干位小数。
可以使用以下代码实现:
#include <stdio.h>
#include <math.h>
int main()
{
int n; // 数字个数
double sum = ; // 数字总和
double avg; // 平均值
int decimal; // 保留的小数位数
printf("请输入数字个数:");
scanf("%d", &n);
double num[n]; // 存储数字的数组
for (int i = ; i < n; i++) {
printf("请输入第%d个数字:", i+1);
scanf("%lf", &num[i]);
sum += num[i];
}
printf("请输入保留的小数位数:");
scanf("%d", &decimal);
avg = sum / n;
avg = round(avg * pow(10, decimal)) / pow(10, decimal); // 四舍五入
printf("平均值为:%.2lf\n", avg); // 保留两位小数
return ;
}
java Math四舍五入保留小数位数
在Java中,可以使用Math类的round()方法来进行四舍五入并保留指定小数位数。下面是一个示例代码:
```java
public class Main {
public static void main(String[] args) {
double number = 3.14159;
int decimalPlaces = 2; // 保留小数位数
double roundedNumber = Math.round(number * Math.pow(10, decimalPlaces)) / Math.pow(10, decimalPlaces);
System.out.println("Rounded number: " + roundedNumber);
}
}
```
在上面的示例中,我们将要四舍五入的数字乘以10的指定小数位数次幂,然后使用Math.round()方法对结果进行四舍五入。最后,再除以10的指定小数位数次幂,以还原为原来的小数位数。输出结果将会是保留了指定小数位数的四舍五入后的数字。