java笔试之取近似值

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。

 1 package test;
 2 
 3 import java.util.*;
 4 import java.math.*;
 5 
 6 public class exam02 {
 7 
 8     public static void main(String[] args) {
 9         Scanner in = new Scanner(System.in);
10         float fl = in.nextFloat();
11         System.out.println(getApproximate2(fl));
12 
13     }
14 
15     // 方法一
16     private static int getApproximate1(float fl) {
17         if (fl == 0)
18             return 0;
19         int i = (int) fl;
20         if (fl > 0) {
21             // fl为正数
22             if ((fl - i) >= 0.5)
23                 return i + 1;
24         } else {
25             // fl为负数
26             if ((i - fl) >= 0.5) {
27                 return i - 1;
28             }
29         }
30         return i;
31     }
32 
33     // 方法二
34     private static int getApproximate2(float fl) {
35         if (fl >= 0) {
36             return (int) (((fl * 10) + 5) / 10);
37         } else {
38             return (int) (((fl * 10) - 5) / 10);
39         }
40     }
41 }

 

posted on 2017-02-17 10:11  贝拉拉  阅读(486)  评论(0编辑  收藏  举报

导航