У меня была немного другая проблема, но она соответствует заголовку. atof выглядел как округление до целочисленной части, и это не проблема выходной точности. Моим решением было изменить настройки локали моей установки ubuntu. Десятичные числа были разделены запятой, а не точкой.
попробуйте этот код (запятая вместо точки):
double latitude=atof("14718,5084");
std::cout <<"latitude test "<<latitude<< "\n";
, если он выводит номер точки правильно плавающей (может быть отделена от точки), вы должны изменить свои языковые настройки на английский или работать с запятой плавающей значений в ваших данных (например, в настройках немецкого языка)
Вы имеете в виду atof справа? –
Я добавил код. – user1106106