2 annbnncnnd AnnBnnCnnD 于 2012.12.24 10:41 提问

在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

2个回答

cytown
cytown   2012.12.24 11:54

easy:

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!