我印象中-1是负整数中的最大值,google了一下果然是。不知道的以为我是小学未毕业的,其实我是一个理工科的硕士毕业生。我今天准备学习一点关于java浮点数的几个函数,下面一个个的看。
Math.floor函数是求一个浮点数的地板,就是求一个最接近它的整数,它的值小于或等于这个浮点数。
System.out.println("0.4 Math.floor:"+Math.floor(0.4));
System.out.println("0.5 Math.floor:"+Math.floor(0.5));
System.out.println("0.6 Math.floor:"+Math.floor(0.6));
System.out.println("-1.4 Math.floor:"+Math.floor(-1.4));
System.out.println("-1.5 Math.floor:"+Math.floor(-1.5));
System.out.println("-1.6 Math.floor:"+Math.floor(-1.6));
输出:
0.4 Math.floor:0.0
0.5 Math.floor:0.0
0.6 Math.floor:0.0
-1.4 Math.floor:-2.0
-1.5 Math.floor:-2.0
-1.6 Math.floor:-2.0
Math.ceil函数执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。
System.out.println("0.4 Math.ceil:"+Math.ceil(0.4));
System.out.println("0.5 Math.ceil:"+Math.ceil(0.5));
System.out.println("0.6 Math.ceil:"+Math.ceil(0.6));
System.out.println("-1.4 Math.ceil:"+Math.ceil(-1.4));
System.out.println("-1.5 Math.ceil:"+Math.ceil(-1.5));
System.out.println("-1.6 Math.ceil:"+Math.ceil(-1.6));
输出:
0.4 Math.ceil:1.0
0.5 Math.ceil:1.0
0.6 Math.ceil:1.0
-1.4 Math.ceil:-1.0
-1.5 Math.ceil:-1.0
-1.6 Math.ceil:-1.0
Math.rint函数返回最接近参数的整数,如果有2个数同样接近,则返回偶数的那个。
System.out.println("0.4 Math.rint:"+Math.rint(0.4));
System.out.println("0.5 Math.rint:"+Math.rint(0.5));
System.out.println("0.6 Math.rint:"+Math.rint(0.6));
System.out.println("-1.4 Math.rint:"+Math.rint(-1.4));
System.out.println("-1.5 Math.rint:"+Math.rint(-1.5));
System.out.println("-1.6 Math.rint:"+Math.rint(-1.6));
输出:
0.4 Math.rint:0.0
0.5 Math.rint:0.0
0.6 Math.rint:1.0
-1.4 Math.rint:-1.0
-1.5 Math.rint:-2.0
-1.6 Math.rint:-2.0
Math.round函数,它表示"四舍五入",算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整
System.out.println("1.4 Math.rint:"+Math.rint(1.4));
System.out.println("1.5 Math.rint:"+Math.rint(1.5));
System.out.println("1.6 Math.rint:"+Math.rint(1.6));
System.out.println("0.4 Math.rint:"+Math.rint(0.4));
System.out.println("0.5 Math.rint:"+Math.rint(0.5));
System.out.println("0.6 Math.rint:"+Math.rint(0.6));
System.out.println("-1.4 Math.rint:"+Math.rint(-1.4));
System.out.println("-1.5 Math.rint:"+Math.rint(-1.5));
System.out.println("-1.6 Math.rint:"+Math.rint(-1.6));
输出:
1.4 Math.rint:1.0
1.5 Math.rint:2.0
1.6 Math.rint:2.0
0.4 Math.rint:0.0
0.5 Math.rint:0.0
0.6 Math.rint:1.0
-1.4 Math.rint:-1.0
-1.5 Math.rint:-2.0
开心,花了几十分钟,把例子跑了一下,明白了一下这几个函数。