Как в строке убрать оставить один знак после запятой
Начал писать код, в массив float генерируются числа, после чего этот массив превращается в String, столкнулся с проблемой, требуется при выводе строки оставить один знак после запятой, если честно пытался что-то найти в интернете, но как то не получилось, может что подскажете?
public class Hospital {
public static float[] generatePatientsTemperatures(int patientsCount) {
float[] array;
array = new float[30];
for (int i = 0; i < array.length; i++) {
array[i] = ((float)( Math.random() * (40-32)) + 32);
System.out.println( array[i]);
var a = array[i];
}
return array;
}
public static String getReport(float[] temperatureData) {
float[] massiv = Hospital.generatePatientsTemperatures (0);
float average = 0;
float sum = 0;
if (massiv.length > 0){
for (int i = 0; i < massiv.length; i++) {
sum += massiv[i];
average = sum/massiv.length;
average = Math.round (average);
}
}
////Превратив в список
String temperatursPathients = Arrays.toString(massiv);
temperatursPathients = temperatursPathients.replaceAll (",","");
////Вычисляем количество здоровых пациентов
int count = 0;
for (int i = 0; i < massiv.length; i++) {
if (massiv[i] > 36.6 && massiv[i] < 36.8) {
System.out.println(massiv[i]);
count++;
}
}
String report =
"Температуры пациентов: " + temperatursPathients +
"\nСредняя температура: " + average +
"\nКоличество здоровых: " + count;
return report;
}
}
Ответы (2 шт):
Автор решения: Эникейщик
→ Ссылка
- Найти позицию запятой в строке.
string.indexOf(",") - Взять подстроку от начала до запятой плюс 1.
Автор решения: xsenom
→ Ссылка
Разобрался, все было намного проще
array[i] = (float)(Math.round(array[i] * 10.0)/10.0);
оставляет ровно один знак после запятой в массиве