#include #include "libft.h" double ft_atof(const char *str) { double nbr; int i; int negatif; double fraction; i = 0; negatif = 1; nbr = 0.0; fraction = 1.0; // Skip leading whitespace while ((str[i] == ' ') || (str[i] > 8 && str[i] < 14)) i++; // Handle optional sign if (str[i] == '-') negatif = -1; if (str[i] == '+' || str[i] == '-') i++; // Parse integer part while (str[i] >= '0' && str[i] <= '9') nbr = nbr * 10.0 + (str[i++] - '0'); // Parse fractional part if '.' is present if (str[i] == '.') { i++; while (str[i] >= '0' && str[i] <= '9') { fraction /= 10.0; nbr += (str[i++] - '0') * fraction; } } return (nbr * negatif); }