Files
cub3d/lib/libft/ft_atof.c
2025-12-09 20:04:37 +01:00

39 lines
1.2 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_atof.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: aortigos <aortigos@student.42malaga.com +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/09/22 20:46:43 by aortigos #+# #+# */
/* Updated: 2025/12/09 20:02:42 by aortigos ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
double ft_atof(char *str)
{
int num;
double rest;
char *tmp;
int i;
num = ft_atoi(str);
tmp = ft_strchr(str, '.');
if (!tmp)
tmp = ft_strchr(str, ',');
if (!tmp)
return (num);
rest = ft_atoi(&tmp[1]);
i = 1;
while (tmp[i])
{
rest /= 10;
i++;
}
if (num < 0 || (str[0] == '-' && str[1] == '0'))
return (num - rest);
return (num + rest);
}