This commit is contained in:
null
2025-08-04 13:20:27 +02:00
commit d215954dec
43 changed files with 1931 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strtod.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: yantoine <yantoine@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/27 16:49:09 by yantoine #+# #+# */
/* Updated: 2024/11/13 23:04:59 by yantoine ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
static int partie_entiere(double *entier, char *string, int i, double *sign)
{
if (string[i] == '-')
{
*sign = -1;
i++;
}
while (string[i] && ft_isdigit(string[i]))
{
*entier = *entier * 10 + (string[i] - '0');
i++;
}
return (i);
}
//fonction qui convertie une string en double
double ft_strtod(char *string)
{
double entier;
double decimal;
double diviseur;
double sign;
int i;
i = 0;
entier = 0;
decimal = 0;
diviseur = 1;
sign = 1;
i = partie_entiere(&entier, string, i, &sign);
if (string[i] == '.')
{
i++;
while (string[i] && ft_isdigit(string[i]))
{
decimal = decimal * 10 + (string[i] - '0');
diviseur *= 10;
i++;
}
}
return ((entier + decimal / diviseur) * sign);
}