这三个方法是在让人头疼,经过一阵搜索之后,特总结如下:
Math.round:如果参数是小数,则求本身的四舍五入。
Math.ceil:如果参数是小数,则求最小的整数但不小于本身.
Math.floor:如果参数是小数,则求最大的整数但不大于本身.
同时注意他们的返回类型:
long round(double a)
int round(float a)
double ceil(double a)
double floor(double a)
特赋代码如下:
- public class RoundTest {
- public static void main(String[] args) {
- double[] values = {-2.3,-1.0,0.25,4,1.5};
- for(int i = 0; i < values.length; i++){
- System.out.println(Math.round(values[i]));
- System.out.println(Math.ceil(values[i]));
- System.out.println(Math.floor(values[i]));
- System.out.println("===========" + i + "============");
- }
- }
- }
返回的结果如下:
-2
-2.0
-3.0
===========0============
-1
-1.0
-1.0
===========1============
0
1.0
0.0
===========2============
4
4.0
4.0
===========3============
2
2.0
1.0
===========4============