I know that this function isn't perfect.
It isnt very hard to fix it
I belive in you guys :P
Code:
using namespace std;
float getFloatFromString (char *szBuffer);
int main ()
{
float fCount = getFloatFromString ("Ich wasche meinen Hans Günter jeden Tag 2412.1234");
printf ("%.4f\n", fCount);
getchar ();
return (0);
}
float getFloatFromString (char *szBuffer)
{
float fGewicht = 0.0f;
float fOperator = 1.0f;
int iTemp = 0;
int iCounter = 0;
while (*szBuffer != 0 && *szBuffer != '.')
{
if ((*szBuffer >= '0' && *szBuffer <= '9'))
fOperator /= 10.0f;
szBuffer ++;
iCounter ++;
}
szBuffer -= iCounter;
for ( ; *szBuffer != 0 ; szBuffer++)
{
if ((*szBuffer >= '0' && *szBuffer <= '9'))
{
fOperator *= 10.0f;
iTemp = (int)(*szBuffer) - 48;
fGewicht += (float)(iTemp / fOperator);
}
}
return (fGewicht);
}
Credits: NikM






)