2012-03-15 3 views

ответ

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

До тех пор, как вы знаете, что % символ всегда будет в конце вашего 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)); 
+0

Там нет 'разделяй (интермедиат)' в 'классе BigDecimal'. –

+0

@ Eng.Fouad, вы правы, моя ошибка. Редактирование теперь ... – Jon

12

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

+0

Здесь Namal предоставляет ответ в одном методе линии, вместо того, чтобы снова делиться. Хорошо. –

+1

Просто помните, что это не сработает с чем-то вроде «10,5%». –

+1

@RasmusFaber это будет – maksimov

Смежные вопросы