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 ではなく 0 を取得していると思います (操作全体が として発生しますInteger)。もしそうなら、次のようなものを試してください

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

または

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

これは 10 で除算してInteger1 桁を削除し、次に 100 で除算しFloatて最終値を取得する必要があります。

于 2013-01-03T04:53:58.103 に答える