В 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));