long value = Math.round(Math.abs(object.getSomeStuff()/1000));


我的object.getSomeStuff()返回一个3位数的整数值。我想获取绝对值,并且还要四舍五入到两位数。

Sample Input
123
-257

Sample Output
0.12
0.25


我并不是真的想四舍五入,我想截断它,但这是一个小问题。

我究竟做错了什么?我认为四舍五入没有在这里正确完成。

对不起,如果我不清楚。主要问题是没有发生的舍入。我想我只是看到一个整数值。

最佳答案

我假设由于类型问题(整个操作以Integer的形式出现),您得到的是0而不是0.12。如果是这样,请尝试类似

long value = Math.abs((Float)(object.getSomeStuff()/10)/100);


要么

long value = Math.abs((object.getSomeStuff()/10)/100.0);


这应除以10作为Integer以消除一位,然后除以100作为Float以得到最终值。

10-07 16:51