Метод отличается от стандартного тем, что входные значения проверяются. Функции возвращают false, если строка содержит что-нибудь отличное от цифрового ввода.
В дополнение к основному коду добавил тесты. По ним можно посмотреть как работает функция.
По аналогии можно сделать обёртки над strtod()/strtof()/strtold()