求一个java算法,要求输入一个浮点数,输出保留一位小数点,并且小数位为5或者0
例如,输入20.16,输出20.0;输入23.86,输出24.0;输入24.48,输出24.5...
例如,输入20.16,输出20.0;输入23.86,输出24.0;输入24.48,输出24.5
展开
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 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.0f;
}
看看这些代码能不能实现你想要的
//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.0f;
}
看看这些代码能不能实现你想要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
final static double a=0.55;
final static int b=(int)a;
final static double c=(double)b;
public static void main(String[] args) {
if(a-b>0){
System.out.println(0.5+b);
}
else{
System.out.println(c);
}
}
final static int b=(int)a;
final static double c=(double)b;
public static void main(String[] args) {
if(a-b>0){
System.out.println(0.5+b);
}
else{
System.out.println(c);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
========================================
public float format(float f){
return (float)(Math.round(f*2))/2;
}
public double format(double d){
return (double)(Math.round(d*2))/2;
}
========================================
public float format(float f){
return (float)(Math.round(f*2))/2;
}
public double format(double d){
return (double)(Math.round(d*2))/2;
}
========================================
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
double a=2.14;
DecimalFormat df=new DecimalFormat("#.#");
System.out.print(df.format(a));
}
double a=2.14;
DecimalFormat df=new DecimalFormat("#.#");
System.out.print(df.format(a));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询