Mam ciąg, który zawiera sformatowany wartości waluty jak 45,890.00
i wielu wartości oddzielonych przecinkiem jak 45,890.00,12,345.00,23,765.34,56,908.50
..waluty podział ciąg przecinkiem
Chcę wydobyć i przetworzyć wszystkie wartości waluty, ale nie mogliśmy zorientować się, poprawne wyrażenie regularne do tego, to co starałem
public static void main(String[] args) {
String currencyValues = "45,890.00,12,345.00,23,765.34,56,908.50";
String regEx = "\\.[0-9]{2}[,]";
String[] results = currencyValues.split(regEx);
//System.out.println(Arrays.toString(results));
for(String res : results) {
System.out.println(res);
}
}
wyjście to jest:
45,890 //removing the decimals as the reg ex is exclusive
12,345
23,765
56,908.50
Czy ktoś mógłby mi pomóc z tym?
Masz na myśli, że chcesz odzyskać '.00'? Wartości wejściowe powinny używać lepszego separatora zamiast używania przecinka, co jest dość mylące. – Raptor
Tak ..Chcę, aby ułamki dziesiętne z powrotem na wyjściu, nie mam kontroli nad ciągiem wejściowym, Jest pobierany z zewnętrznej aplikacji. –
Jeśli to nie jest praca domowa, może to ma więcej sensu, więc użyj 'String.split' dla przecinków i' SimpleDecimalFormat', aby przeanalizować wartości. Dzięki temu możesz kontrolować, że to naprawdę liczba, format separatora dziesiętnego, a następnie formatuj tę wartość dziesiętną tak, jak chcesz. – helios