在java中,如何将百分比字符串转换为BigDecimal?如何将百分比字符串转换为BigDecimal?
感谢
String percentage = "10%";
BigDecimal d ; // I want to get 0.1
在java中,如何将百分比字符串转换为BigDecimal?如何将百分比字符串转换为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));
没有'鸿沟(INT)''内类BigDecimal'。 – 2012-03-15 02:58:32
@ Eng.Fouad你是对的,我的错。现在编辑... – Jon 2012-03-15 02:59:45
尝试new DecimalFormat("0.0#%").parse(percentage)
这里Namal提供一种方法的答案,而不是再次分裂。好。 – 2012-03-15 08:57:48
请记住,这不适用于“10.5%”之类的东西。 – 2013-06-17 06:54:21
@RasmusFaber它会 – maksimov 2017-06-23 18:52:29
似乎是重复的问题:http://stackoverflow.com/questions/2109860/compute-percentage-for-bigdecimals – 2012-03-15 03:00:14