求一个java算法,要求输入一个浮点数,输出保留一位小数点,并且小数位为5或者0

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:51:06
例如,输入20.16,输出20.0;输入23.86,输出24.0;输入24.48,输出24.5

public class Test2 {

public static void main(String[] args) {

System.out.print(meg(24.5834));
System.out.print(meg(20.13));
System.out.print(meg(23.86));
System.out.print(meg(23.46));
System.out.print(meg(23.458));
}

public static double meg(double i){
int b = (int)Math.round(i * 10); //小数点后两位前移,并四舍五入
double c = ((double)b/10.0); //还原小数点后两位
if((c*10)%5!=0){
int d = (int)Math.round(c); //小数点前移,并四舍五入
c = ((double)d); //还原小数点
}
return c;
}

}
结果
25.0
20.0
24.0
23.5
23.5

public float getFloatVal(float a){
//String str = a+"";
int i = (int)a;
float j = a - i;
if(j>0.75){
return i + 1.0f;
}else if(j<0.75 && j>0.25)
return i + 0.5f;
else
return i + 0.