Вы ничего не "кастуете". trim()
удаляет только пробелы, которые никогда не будут присутствовать в результате String.valueOf(double)
.
Используйте приведение:
int newAccount = (int) Math.floor(total - discount_Ammount);
Java - это строго типизированный язык программирования, а не язык сценариев. Неявные преобразования между строками и другими типами не поддерживаются.
Или вообще избавьтесь от операции floor()
, поскольку вы уже работаете с количеством int
, а floor()
не имеет смысла:
int newAccount = total - discount_Ammount;
Если вы работаете с деньгами, используйте класс BigDecimal
, чтобы вы могли использовать правила округления, требуемые вашей бухгалтерской системой. Вы не сможете управлять этим при использовании double
.