在java中设置浮点型数字的近似值

我用下面的方法设置浮点型(或double型)的指定小数点位数:

public float decimalDigits(int x, float n){
....
}

比如:如果有

float n1=36.58529

然后代码:

float n2=decimalDigits(2, n1); 

返回的结果应该是:

n2=36.59

再举一个,比如n1变了:

float n1=36.58329

那执行这行代码之后:

float n2=decimalDigits(2, n1);

返回结果是:

n2=36.58

同样的,如果执行这行代码:

float n2=decimalDigits(1, n2);

返回结果:

n2=36.6

easy:

public static float decimalDigits(int x, float n){
    x = (int) Math.pow(10, x);
    return Math.round(n * x) * 1f / x;
}

Math.round()四舍五入
或者Math.ceil(n+0.5)