roboforum.ru

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

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

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

Илдар » 17 фев 2014, 23:41

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

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

возвращает "==", в т.ч. и для спецификатора %f.

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);
}

правда это тут ещё знак выводится, флоат кароче но смысл ясен.

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

elmot » 19 фев 2014, 18:17

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

Добавлено спустя 5 минут 20 секунд:
Но применительно к батарее я просто храню напряжение в милли- или сентивольтах. и никаких флоатов и математических библиотек.


cron
Rambler\'s Top100 Mail.ru counter