Android - unikaj wykładniczego w łańcuchu do podwójnej konwersji

Próbuję uzyskać wartość z edittext i zapisać jako ciąg. Następnie zamienia się w podwójne. Podczas konwersji do 7 znaków działa normalnie, ale jeśli spróbuję dodać więcej niż 7 wyników, to 1.23456789E8. Oto mój kod

String value = txtData.txtSearch.getText().toString();
// value = "987654321.45"

double amount1 = Double.parseDouble(value);
// amount1 = 9.8765432145E8

double amount2 = 0.05;

double result = (amount1 * amount2) / 100;
// result = 4.3827160725E14

po obliczeniu otrzymałem 4.3827160725E14, który nie jest poprawny, poprawna odpowiedź to 493827.16

Jak mogę uzyskać poprawną wartość bez utraty precyzji?

questionAnswers(4)

yourAnswerToTheQuestion