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

Myobject.getSomeStuff()返回一个 3 位整数值。我想获得绝对值并四舍五入到 2 位。

Sample Input
123
-257

Sample Output
0.12
0.25

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

我究竟做错了什么?我认为这里的舍入不正确。

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

4

1 回答 1

2

我假设由于类型问题(整个操作发生在 0.12 中Integer),您得到的是 0 而不是 0.12。如果是这样,请尝试类似

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

或者

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

这应该除以 10Integer以消除一位数字,然后除以 100 作为 aFloat以获得最终值。

于 2013-01-03T04:53:58.103 回答