2012-03-15 36 views

Trả lời

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

Chừng nào bạn biết rằng biểu tượng % sẽ luôn luôn được ở phần cuối của String của bạn:

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

Nếu bạn không biết rằng biểu tượng % sẽ ở đó:

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

Không có 'divide (int) 'trong' lớp BigDecimal'. –

+0

@ Eng.Fouad bạn là chính xác, sai lầm của tôi. Đang chỉnh sửa ngay bây giờ ... – Jon

12

Hãy thử new DecimalFormat("0.0#%").parse(percentage)

+0

Tại đây, Namal cung cấp câu trả lời theo một phương pháp, thay vì chia một lần nữa. Tốt. –

+1

Chỉ cần nhớ rằng điều này sẽ không làm việc với một cái gì đó như "10,5%". –

+1

@RasmusFaber nó sẽ – maksimov

Các vấn đề liên quan