Я попытался найти решение этой проблемы, но я не уверен, как задать вопрос.
Я должен заполнить TextView словами и цифрами, и я настроил его в Activity.
float leftTimeSecs = leftTime/1000;
float roundedLeftSecs = round(leftTimeSecs, 3);
//How to access this directly from "strings" or .xml files
duration.setText(getString(R.string.time_data_sec, roundedLeftSecs,
getString(R.string.seconds)));
Моя строка, я устанавливаю текст является:
<string name="time_data_sec">Duration: %1$f %2$s</string>
и круглая вызванная функция
public static float round(float value, int places) {
if (places < 0) throw new IllegalArgumentException();
BigDecimal bigDecimal = new BigDecimal(value);
bigDecimal = bigDecimal.setScale(places, RoundingMode.HALF_UP);
return bigDecimal.floatValue();
}
Я хочу вывод на печать значение из roundedLeftSecs (который leftTime округляется до трех мест), но когда я не жестко скопировал roundedLeftSecs, в нем будет создано множество конечных нулей после округленного числа.
Я обнаружил, что% 1 $ d является десятичным заполнителем, но это не позволит мне использовать его с поплавком или двойным выражением, поэтому я не уверен, как избавиться от этих нулей или если это возможно.