Функция strtod() преобразует строку в double.
#include <stdio.h> //printf()
#include <stdlib.h> // strtod()
int main(){
char *str = "2.58"; // Строковое представление числа
double num = strtod(str, NULL); // Переводим char * в double
printf("%.3f", num); // Выводим число как double "2.580"
}