Вы можете использовать извлечение потока:
std::ifstream ifs(...);
double d;
ifs >> d;
Эта работа при условии, что, кроме пробелов, следующие данные в потоке должны иметь двойное текстовое представление.
После извлечения вы можете проверить состояние потока, чтобы увидеть, были ли ошибки:
ifs >> d;
if (!ifs)
{
// the double extraction failed
}