Как узнать есть ли буквы в строке?
if (preg_match('/[a-zа-яё]/iu', $входящее_сообщение)) { /* если буква в слове есть, то будет true, если нет false */
    .....
}
а вообще точнее даже раз вам нужно обрубать все символы, кроме цифр, точек и запятых, то надо сделать так:if (preg_match('/[^\d\.,]/', $входящее_сообщение)) { /* если есть лишний символ, то true, иначе false */
    .....
}
Если нет нужды писать эксепшен для не float в запросе, тогда преобразуйте так:$var = (float)strtr($input, ',', '.');
Если нужно, то конвертните обратно в string и сравните.
Имхо, это нагляднее и очевиднее, чем регулярка.