Как преобразовать процент String в BigDecimal?

В java, как преобразовать процентную строку в BigDecimal?

Спасибо

String percentage = "10%";
BigDecimal d ; // I want to get 0.1 

Ответ 1

BigDecimal d = new BigDecimal(percentage.trim().replace("%", "")).divide(BigDecimal.valueOf(100));

Ответ 2

Попробуйте new DecimalFormat("0.0#%").parse(percentage)

Ответ 3

Пока вы знаете, что символ % всегда будет в конце вашего String:

BigDecimal d = new BigDecimal(percentage.substring(0, percentage.length()-1));
d.divide(100); // '%' means 'per hundred', so divide by 100

Если вы не знаете, что будет символ %:

percentage = percentage.replaceAll("%", ""); // Check for the '%' symbol and delete it.

BigDecimal d = new BigDecimal(percentage.substring(0, percentage.length()-1));
d.divide(new BigDecimal(100));