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

例如,输入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
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-29
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;
}
看看这些代码能不能实现你想要的
第2个回答  2009-10-29
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);
}

}
第3个回答  2009-10-29
========================================
public float format(float f){
return (float)(Math.round(f*2))/2;
}
public double format(double d){
return (double)(Math.round(d*2))/2;
}
========================================
第4个回答  2009-10-29
public static void main(String[] args) {
double a=2.14;
DecimalFormat df=new DecimalFormat("#.#");
System.out.print(df.format(a));
}

求一个java算法,要求输入一个浮点数,输出保留一位小数点,并且小数位...
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); \/\/还原小数...

用java编写一个程序,接受用户输入的一个浮点数,把它的整数部分和小数部...
public static void main(String[] args){ float f = 0f;Scanner sc = new Scanner(System.in);System.out.println("请输入浮点型数字:");try{ f = sc.nextFloat();System.out.println("整数部分:" + (int)f);System.out.println("小数部分:" + getXiaoshu(f));}catch(Exception e)...

java语言,程序从终端读入一个浮点数,然后分别输出它的整数部分和小数部...
import java.util.Scanner;public class DoubleToInt { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("请输入一个浮点数:");double d = scanner.nextDouble();String string = Double.toString(d);System.out.println(string);int inde...

用java编写程序,从键盘输入一个浮点数,然后将该浮点数整数部分输出
import java.util.Scanner; public class App12 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); float f = scanner.nextFloat(); \/\/ 取整数部分 int result = (int)f; System.out.println(result); }} ...

java里如何在输出浮点数小数部分为0时自动将小数点和小数部分隐藏
可以直接以浮点数和其强转为整数的数值进行比较,相同则直接取整数,即去掉小数点;否则,即不同时,原样输出;PS.

java接受用户输入的 一个浮点数 输出整数和小数 0
System.out.println("请输入一个浮点数");Scanner scan=new Scanner(System.in);double d=scan.nextDouble();int di=Math.floor(d);double dd=d-di;System.out.println(d+"的整数部分为:"+di);System.out.println(d+"的小数部分为:"+dd);

用java语言编写一个程序,接受用户输入的一个浮点数,把它的整数部分输出...
public static void main(String[] args) { String

已知浮点数,用Java编程序实现分别输出整数部分和小数部分?
不就是:double aa=34456.234545;int bb=(int)aa;\/\/得到整数部分(强制转换)double cc=aa-bb;\/\/不就得到小数了吗?那aa不就是整数部分了吗?

...输入一个浮点数据,将该浮点数保留两位小数位输出
import java.util.Scanner;public class Demo {public static void main(String[] args) {Scanner s = new Scanner(System.in);double d = s.nextDouble();System.out.println(String.format("%.2f", d));}}

Java中给定一个浮点数,输出该数的整数部分与小数部分。大致有几种方法...
说说我知道的两种:1。float a = 3.14;System.out.println("整数部分: "+(int)a);System.out.println("小数部分: "+a%1)2。将浮点数转成字符串,然后用.分割字符串,第一部分是整数,第二部分是小数。

相似回答