// 对一个double类型的数组中的每个元素四舍五入保留一位小数
double a [] = {0.0,-675723.589688,387.55};
for (int k = 0; k < a.length; k++) {
a[k]=a[k]100;// 乘以100,为了好求后面的各个位数的值
int b=(int) (a[k]/100);//百位
int d=(int) (a[k]%100/10);//十位
int c=(int) (a[k]%100%10);//个位
if(a[k]>0) {// 当数组中的元素有正数时
if(c<5) {
c=0; // 个位不满5,舍去
a[k]=(b100+d10)/100.0;// 重新初始化元素值
}
if(c>=5){ // 个位满5时
c=0; // 个位初始化为0
d=d+1; // 十位数加一
a[k]=(b100+d10+c)/100.0;//重新初始化元素值
}
}
else { //数组中有非正数时
if(c>-5&&c<=0) { // 个位取值在(-5,0]时
c=0;
a[k]=(b100+d10)/100.0;//重新初始化元素值
}
else{ // 个位取值在(-9,-5]时
c=0; // 个位取值在[-5,0]时
d=d-1; // 十位数加一----因为是负数,所以减一后取绝对值还是加一。
a[k]=(b100+d*10+c)/100.0;//重新初始化元素值
}
}
}
for (int i = 0; i < a.length; i++) {//输出数组中的元素
System.out.println(a[i]);
}
不调用方法对double类型数组中的每个元素保留一位小数
最新推荐文章于 2021-02-16 06:38:28 发布