roboforum.ru

Технический форум по робототехнике.

как вы преобразуете дробное число в текст?

ARM7, ARM9, ARM11 etc.

как вы преобразуете дробное число в текст?

Сообщение Илдар » 17 фев 2014, 23:41

ибо у меня вот такая функция:

char* get_battery_message(void){
char s[200];
sprintf(s, "=%g=", (double) 1.5);
return s;
}

возвращает "==", в т.ч. и для спецификатора %f.
Илдар
 
Сообщения: 72
Зарегистрирован: 26 июл 2013, 02:35
Откуда: Москва

Re: как вы преобразуете дробное число в текст?

Сообщение StArt » 18 фев 2014, 10:39

Я вот так вывожу на печать:
Код: Выделить всёРазвернуть
void outfloat(float f)//выводит числа float, знак, целое и 6 цифр после запятой.
{
   int x,y;
   char sign='+';
   if(f<0){ sign='-'; f=-f; }
   x = floor(f);
   f-=x;
   y=f*1000000;
   printf("%c%d.%06d",sign,x,y);
}

правда это тут ещё знак выводится, флоат кароче но смысл ясен.
Аватара пользователя
StArt
 
Сообщения: 139
Зарегистрирован: 08 июл 2008, 14:34
Откуда: г. Черноголовка
прог. языки: Verilog, С
ФИО: Саша

Re: как вы преобразуете дробное число в текст?

Сообщение elmot » 19 фев 2014, 18:17

а в чем проблема использовать float формат? printf("x=%f", x)

Добавлено спустя 5 минут 20 секунд:
Но применительно к батарее я просто храню напряжение в милли- или сентивольтах. и никаких флоатов и математических библиотек.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья


Вернуться в ARM

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6