В java, как преобразовать процент String в BigDecimal?Как преобразовать процент String в BigDecimal?
Благодаря
String percentage = "10%";
BigDecimal d ; // I want to get 0.1
В java, как преобразовать процент String в BigDecimal?Как преобразовать процент String в BigDecimal?
Благодаря
String percentage = "10%";
BigDecimal d ; // I want to get 0.1
BigDecimal d = new BigDecimal(percentage.trim().replace("%", "")).divide(BigDecimal.valueOf(100));
До тех пор, как вы знаете, что %
символ всегда будет в конце вашего 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));
Там нет 'разделяй (интермедиат)' в 'классе BigDecimal'. –
@ Eng.Fouad, вы правы, моя ошибка. Редактирование теперь ... – Jon
Попробуйте new DecimalFormat("0.0#%").parse(percentage)
Здесь Namal предоставляет ответ в одном методе линии, вместо того, чтобы снова делиться. Хорошо. –
Просто помните, что это не сработает с чем-то вроде «10,5%». –
@RasmusFaber это будет – maksimov
кажется, дублированный вопрос: http://stackoverflow.com/questions/2109860/compute-percentage-for-bigdecimals –