Цитата(mempfis_ @ Feb 20 2009, 15:32)

может быть есть готовые алгоритмы на С
Сомневаюсь, что для такой задачи требуется некий алгоритм... Процедура преобразования будет иметь, примерно, такой вид
Код
void Convert(char *Str, void *pCh)
{
float F;
sscanf(Str, "%f", &F);
*(float *)pCh= F;
}
Вызов этой процедуры будет, приметно, такой
Код
unsigned char mCh[4];
......
Convert("0012.5000", mCh);
PS. Можно процедуру записать ещё проще
Код
void Convert(char *Str, void *pCh)
{
sscanf(Str, "%f", pCh);
}
Поскольку внутренность процедуры сократилась до одной строки - её можно совсем сократить
Код
unsigned char mCh[4];
......
sscanf("0012.5000", "%f", mCh);