Попробуйте следующее
double value = Double.valueOf(String.format(Locale.US, "%1$.5f", 5.565858845));
System.out.println(value); // prints 5.56586
value = Double.valueOf(String.format(Locale.US, "%1$.5f", 5.56585258));
System.out.println(value); // prints 5.56585
Или, если вы хотите минимальное количество кода
Использовать статический импорт
import static java.lang.Double.valueOf;
import static java.util.Locale.US;
import static java.lang.String.format;
И
double value = valueOf(format(US, "%1$.5f", 5.56585258));
С уважением,