Я очень новичок в программировании для Android, поэтому любая помощь будет очень признательна. Я просмотрел страницы и, похоже, не нашел правильного ответа. Если это аналогичный вопрос, я искренне извиняюсь. Моя проблема в том, что когда я написал код на своем устройстве Android с компилятором AIDE, округление примера ниже
pitch_round.setScale(2,BigDecimal.ROUND_UP);
работал нормально, и я смог вывести округленный bigdecimal в TextView с помощью pitch_round.ToString() , когда я использовал аналогичный код в Eclipse, при компиляции не было ошибки, но вывод в textview, похоже, вообще не округлялся, если я не ошибаюсь, теперь десятичных знаков стало больше.
Ниже приведен фрагмент кода, который не работает. Я что-то здесь не так делаю? Все значения являются числами с плавающей запятой. Это идентично коду, который использовался в AIDE на устройстве. Спасибо заранее.
pitch = mOrientation[1]*57.2957795f;
roll= mOrientation[2]*57.2957795f;
yaw= mOrientation[0]*57.2957795f;
// change to bigdecimal object
BigDecimal pitch_round = new BigDecimal(pitch-zero_pitch);
BigDecimal roll_round = new BigDecimal(roll-zero_roll);
BigDecimal yaw_round = new BigDecimal(yaw-zero_yaw);
pitch_round.setScale(2,BigDecimal.ROUND_UP);
roll_round.setScale(2,BigDecimal.ROUND_UP);
yaw_round.setScale(2,BigDecimal.ROUND_UP);
Log.i(SENSOR_SERVICE, pitch_round.toString());
t_pitch.setTextColor(Color.CYAN);
t_roll.setTextColor(Color.CYAN);
t_yaw.setTextColor(Color.CYAN);
// log some output to test code
//Log.i(SENSOR_SERVICE, "Send Results"+ pitch);
t_pitch.setText(pitch_round.toString());
t_roll.setText(roll_round.toString());
t_yaw.setText(yaw_round.toString());