Ответ 1
BigDecimal Constructor принимает действительную числовую строку.
Строковое представление состоит из необязательного знака, '+' ('\ u002B') или '-' ('\ u002D'), за которым следует последовательность из нуля или более десятичные цифры ( "целое число" ), необязательно с последующим фракция, необязательно сопровождаемая показателем.
String salePrice = "$348.00";
String price = salePrice.replace("$","");
BigDecimal sPrice = new BigDecimal(price);
System.out.println(sPrice);
Выход = 348.00
Вы также можете посмотреть NumberFormat класс. С помощью этого класса вы можете установить соответствующий Locale
.
String salePrice = "$123.45";
Locale locale = Locale.US;
Number number = NumberFormat.getCurrencyInstance(locale).parse(salePrice);
System.out.println(number);
Выход = 123.45