C Implementation of atof
Portability
There is no guarantee that this code will be using ASCII so it would be better to use '0' rather than 48 which is something of a magic number. Using '0' makes it more readable and easier to understand.
lc_atof Doesn't Handle String Termination or End Of Line Correctly
This code doesn't handle a NULL terminated string or an end of line character. The function isspace() returns true for end of line so the code will walk right past it.
    while (isspace(**str))
        (*str)++;
    if (**str == '+' || **str == '-')
    {
        if (**str == '-')
            sign = -1.0;
        (*str)++;
    }
    if (!isdigit(**str))
    {
        errno = EIO;
        return (-1);
    }

Complexity
I reaize that you didn't ask for this to be review, but the complexity of each if statement in the example call function is too much and caused me to make an error in my review previously:
int a_parsing(char* str, t_pars* data)
{
    if (*(str++) == 'A')
    {
        if (((data-&gt;a_ratio = lc_atof(&amp;str)) &gt;= 0.0) &amp;&amp; data-&gt;a_ratio &lt;= 1.0 &amp;&amp; errno == 0)
            // 
            if (((data-&gt;a_R = lc_atoi(&amp;str)) &gt;= 0) &amp;&amp; data-&gt;a_R &lt;= 255 &amp;&amp; errno == 0)
                if (*(str++) = ',' &amp;&amp; ((data-&gt;a_G = lc_atoi(&amp;str)) &gt;= 0) &amp;&amp; data-&gt;a_G &lt;= 255 &amp;&amp; errno == 0)
                    if (*(str++) = ',' &amp;&amp; ((data-&gt;a_B = lc_atoi(&amp;str)) &gt;= 0) &amp;&amp; data-&gt;a_B &lt;= 255 &amp;&amp; errno == 0)
                        return (skip_space(&amp;str));
    }
    return (0);
}

I would rewrite the code as :
#define MAX_COLOR   0xFF
int a_parsing_prime(char* str, t_pars* data)
{
    if (*(str++) == 'A')
    {
        data-&gt;a_ratio = lc_atof(&amp;str);
        if (!errno &amp;&amp; data-&gt;a_R &lt;= MAX_COLOR)
        {
            if (*(str++) = ',')
            {
                data-&gt;a_G = lc_atoi(&amp;str);
                if (!errno &amp;&amp; data-&gt;a_G &lt;= MAX_COLOR)
                {
                    if (*(str++) = ',')
                    {
                        data-&gt;a_B = lc_atoi(&amp;str);
                        if (!errno &amp;&amp; data-&gt;a_B &lt;= MAX_COLOR)
                        {
                            return (skip_space(&amp;str));
                        }
                    }
                }
            }
        }
    }
    return (0);
}

which truely shows the complexity of the function.