Мне нужно ввести номер в виде строки из пользователя и проанализировать ее на объект Double.Как разобрать String с разделителями как десятичными разделителями, так и точкой, чтобы удвоить
Я бы хотел, чтобы он был доступен для запятой, как разделителя десятичных чисел, так и точки, а также сохранить его и вывести только с помощью точки.
Пример: 22,33 -> 22,33 и 22,33 -> 22,33
Что я использую:
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
try {
Number number = format.parse(formDto.getWeight());
kitten.setWeight(number.doubleValue());
} catch (ParseException e) {
e.printStackTrace();
}
Но это только получает значения с '' сепараторе. Когда пользователь вводит с точкой, он теряет все десятичные числа и возвращает, что 22.33 -> 22.0 или 4.1 -> 4.0 Когда я отлаживаю, я вижу, что это проблема синтаксического анализа (очевидно), но понятия не имею, какая хорошая практика для ее решения.
Укажите язык программирования - это Java? – lospejos
Обновленный вопрос. Да, это Java –