在java基础中,经常会有一些比较冷门的知识点,但是往往这些知识点都是吧很重要的。现在来记录一下其中的一点。
Math.round() 和 Math.floor的区别
我们来看一下api文档上面的官方定义。
因此这边我们可以简单的理解为:floor是取下界,而round是对浮点数进行四舍五入。
下面我们用代码来证实一下。
public class TestStatic {
static double a1 = 12.1;
static double a2 = 12.5;
static double a3 = 12.9;
static double a4 = 13.1;
static double a5 = 13.5;
static double a6 = 13.6;
public static void main(String[] args) {
System.out.println(Math.floor(a1)+"");
System.out.println(Math.floor(a2)+"");
System.out.println(Math.floor(a3)+"");
System.out.println(Math.floor(a4)+"");
System.out.println(Math.floor(a5)+"");
System.out.println(Math.floor(a6)+"");
}
}
输出的结果是:
12.0
12.0
12.0
13.0
13.0
13.0
可以看到,确实是取了下界。
public class TestStatic {
static double a1 = 12.1;
static double a2 = 12.5;
static double a3 = 12.9;
static double a4 = 13.1;
static double a5 = 13.5;
static double a6 = 13.6;
public static void main(String[] args) {
System.out.println(Math.round(a1)+"");
System.out.println(Math.round(a2)+"");
System.out.println(Math.round(a3)+"");
System.out.println(Math.round(a4)+"");
System.out.println(Math.round(a5)+"");
System.out.println(Math.round(a6)+"");
}
}
输出结果:
12
13
13
13
14
14
也可以证明是对浮点数进行四舍五入。