Мне нужна функция, которая примет строку и целое число, которое указывает позицию неотрицательного двойного или целого числа и возвращает Number или null. Если «+» возвращает null.parse неотрицательные удвоения
Примеры
2.1 , 0 -> 2.1
+2.1 , 0 -> null
-1 , 0 -> null
-1.2 , 1 -> 1.2
qwa56sdf , 3 -> 56
Самый элегантный способ сделать это? Спасибо.
обн Мне нужен код, как это, но лучше)
Number parse(String str, int pos){
Matcher m = Pattern.compile("^(\\d+(?:\\.\\d+)?)").matcher(str);
m.region(pos, str.length());
if(m.find()){
return Double.parseDouble(m.group());
} else {
return null;
}
}
Почему ваш третий пример возвращает null? – jjnguy
Потому что он должен быть неотрицательным. –
Тогда почему четвертый не является нулевым? –