W języku java, jak przekonwertować procentowy ciąg do BigDecimal?jak przekonwertować procentowy ciąg do BigDecimal?
Dzięki
String percentage = "10%";
BigDecimal d ; // I want to get 0.1
W języku java, jak przekonwertować procentowy ciąg do BigDecimal?jak przekonwertować procentowy ciąg do BigDecimal?
Dzięki
String percentage = "10%";
BigDecimal d ; // I want to get 0.1
BigDecimal d = new BigDecimal(percentage.trim().replace("%", "")).divide(BigDecimal.valueOf(100));
Dopóki wiesz, że %
symbol będzie zawsze na końcu swojej String
:
BigDecimal d = new BigDecimal(percentage.substring(0, percentage.length()-1));
d.divide(100); // '%' means 'per hundred', so divide by 100
Jeśli nie wiesz, że symbol będzie %
tam:
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));
Nie ma 'divide (int)' 'wewnątrz klasy BigDecimal'. –
@ Eng.Fouad masz rację, mój błąd. Edycja teraz ... – Jon
Spróbuj new DecimalFormat("0.0#%").parse(percentage)
Tutaj Namal podaje odpowiedź w jednej linii, zamiast ponownie dzielić. Dobry. –
Pamiętaj tylko, że to nie zadziała z czymś takim jak "10,5%". –
@RasmusFaber będzie – maksimov
wydaje się duplikatu pytanie: http://stackoverflow.com/questions/2109860/compute-percentage-for-bigdecimals –