写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入一个正浮点数值
输出该数值的近似整数值
5.5
6
0.5>=0.5,所以5.5需要向上取整为6
2.499
2
0.499<0.5,2.499向下取整为2
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String input = in.nextLine(); int i ; for(i=0;input.charAt(i+1)!='.';i++){ System.out.print(input.charAt(i)); } if(input.charAt(i+2)>'4'){ System.out.print((int)input.charAt(i)-'0'+1); }else{ System.out.print(input.charAt(i)); } } }
import java.util.*; import java.math.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextDouble()) { // 注意 while 处理多个 case double a = in.nextDouble(); int b = (int) a; double Newb = BigDecimal.valueOf(a). subtract(BigDecimal.valueOf(b)). compareTo(BigDecimal.valueOf(0.5)); if (Newb >= 0) { System.out.println(b + 1); } else { System.out.println(b); } } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); double v = sc.nextDouble(); long round = Math.round(v); System.out.println(round); } }
// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigDecimal bigDecimal = new BigDecimal(in.next()).add(new BigDecimal("0.5")); System.out.println(bigDecimal.longValue()); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 double num = in.nextDouble(); int n = (int)num; System.out.print(num-n>=0.5 ? n+1:n ); } }
//没啥好说的直接判断小数 import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextDouble()) { // 注意 while 处理多个 case double a = in.nextDouble(); int b = (int)a; if(a-b>=0.5) System.out.println(b+1); if(a-b<0.5) System.out.println(b); } } }
public class Test04 { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextDouble()) { // 注意 while 处理多个 case double num = in.nextDouble(); int result = (int)num; if(num-result>=0.5){ result++; } System.out.println(result); } } }
import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String input = in.nextLine(); BigDecimal out = new BigDecimal(input); System.out.println(Math.round(out.floatValue())); } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); if (in.hasNextFloat()) { Float val = in.nextFloat(); System.out.println(Float.valueOf(val.intValue()+".5").compareTo(val)>0?val.intValue():val.intValue()+1); } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case float a = in.nextFloat(); int b = (int)a; float c = a-b; if(c>=0.5){ b++; } System.out.println(b); } } }