У меня есть строка, которая является «R $ 3.333,33», и я пытаюсь разобрать его к двойному значению с этим методом:Синтаксических валют в два раз повысить исключение
public static BigDecimal parse(final String amount, final Locale locale) throws ParseException {
final NumberFormat format = NumberFormat.getCurrencyInstance(locale);
if (format instanceof DecimalFormat) {
((DecimalFormat) format).setParseBigDecimal(true);
}
return (BigDecimal) format.parse(amount.replaceAll("[^\\d.,]", ""));
}
Но я получаю исключение, которое говорит:
W/System.err: java.text.ParseException: Unparseable number: "3.333,33" (at offset 8)
И я использую это нравится:
Ferramentas.parse(value.getText().toString(), Locale.FRANCE)
Какой язык вы используете? – m0skit0
@ m0skit0 Я использую Locale.FRANCE – AND4011002849
Возможный дубликат [Конвертирование валюты разных стран в двойное использование java] (http://stackoverflow.com/questions/23990805/converting-different-countrys-currency-to-double-using -java) –