Тип переменной проверяют через
instanceof
Object r = 13.1;
if (r instanceof Double) {
System.out.println("matches double");
}
Распознать же строку как double можно, например, с помощью регулярки
String example = "1331.2";
if (Pattern.matches("^[\\+\\-]{0,1}[0-9]+[\\.\\,][0-9]+$", (CharSequence) example)) {
System.out.println("matches double");
}
Можно найти какую-нибудь библиотеку, можно самому написать метод, посимвольно перебирающий строку. А можно просто воспользоваться
Double.parseDouble(), не такой уж он и громоздкий.