Цитата(radioman1 @ May 4 2014, 22:47)

Спасибо, только применение float сразу на 1К вес кода прибавляет. Если других способов нет то буду делать как задумал.
Да, это так. В архитектуре AVR нет аппаратной плавающей арифметики, а раз так, при пришивается библиотека эмуляции всего этого. Вот и получается длинно.
Из иных альтернатив можете попытать счастья с функцией strtol(), которая не только преобразует число, но и выставляет указатель на место, где число кончилось. Например, в вашем случае она остановится на десятичной точке. Потом снова ее запускаете, но уже от этого указателя плюс один (чтобы точку перешагнуть) - получите второе число. После этого указатель до знака перед E продвинется. Можно будет забрать символ этого знака, перескочить через знак и Е, добавлением двойки к указателю, и получить третье число - показатель степени. Ну, а потом из этих трех чисел и знака экспоненты сварганить целое число.
Короче говоря, если формат у вас фиксированный по знакоместу, что можно обойтись atoi(str), а если строка бывает короче или длиннее, то лучше подойдет strtol(str).