Я хотел бы проанализировать десятичные числа в Java со знаком плюс, знак минус или без знака и получить экземпляр BigDecimal
. Это может быть достигнуто просто путем вызова конструктора new BigDecimal(string)
. Он производит соответствующие результаты для всех из следующих строк:Необязательный знак плюс с java.text.DecimalFormat
"1", "12", "123", "123.0", "+123.0", "-123.0", "+123", "-123"
Тем не менее, мне нужно, чтобы разобрать строки в соответствии конкретного языкового стандарта, то есть с запятой десятичного разделителя. Есть ли способ разобрать все эти цифры по отношению к определенному языку?
Я пробовал NumberFormat
и DecimalFormat
, но не могу настроить его соответствующим образом.
final DecimalFormat valueParser = (DecimalFormat) NumberFormat.getNumberInstance(new Locale("cs"));
valueParser.setParseBigDecimal(true);
valueParser
не принимает знак «плюс». Существует возможность установить шаблон на DecimalFormat
. Однако может ли знак плюса указываться как необязательный в шаблоне?
Пожалуйста, ознакомьтесь с этим вопросом: http://stackoverflow.com/questions/12836647/best-way-to-convert-locale-specific-string-to-bigdecimal – Garry
@Garry В предлагаемом вопросе stackoverflow 'NumberFormat'/Используется 'DecimalFormat'. Однако необязательный знак плюс не рассматривается. – Cimlman
В чем разница между знаками с плюсом и без знака? – Garry