Если вы хотите просто переместить точку на одну цифру вправо, вы можете использовать следующий фрагмент, который использует String#substring()
, чтобы разрезать String
на нужные части и затем объединить их снова:
String number = String.valueOf(2.52549856E8f);
int index = number.indexOf('.');
String formatted =
number.substring(0, index) +
number.substring(index + 1, index + 2) +
'.' +
number.substring(index + 2);
number.substring(0, index)
вырезает первую цифру number.substring(index + 1, index + 2)
вырезает вторую цифру '.'
вставляет новую точку number.substring(index + 2)
добавляет остаток от числа
То же самое можно сделать с регулярным выражением:
String number = String.valueOf(2.52549856E8f);
String formatted = number.replaceAll("^(\\d)\\.(\\d)(\\d+E\\d+)$", "$1$2.$3");