Как в Arduino форматировать вывод результата?!
- Войдите на сайт для отправки комментариев
Чт, 23/05/2013 - 01:49
Добрый день! Подключаю сонар ультразвуковой HC-SR04. Если снимать данные через тип Int до обрезает точность, выводя целое число сантиметров (но в паспорте обозначена точность 0,3). Вывожу через float, но тут проблема: не фиксирует количество символов в числе (например выводит расстояние 12,59 как только падает ниже 10 появляется третий знак, типа 07,451). Если верить паспорту датчик за 2$ не может мерять с такой точностью.
Как форматировать в коде вывод результата всегда в формате ##.##?
Спасибо!
И да, пользуюсь Arduino MEGA2560, для прошивки - Arduino 1.0.3.
В каком коде??? Куда вывод???
"Уважаемые товарищи ученые, у меня в подвале стук. Объясните, пожалуйста, причину этого стука"
Добрый день! Подключаю сонар ультразвуковой HC-SR04. Если снимать данные через тип Int до обрезает точность, выводя целое число сантиметров (но в паспорте обозначена точность 0,3). Вывожу через float, но тут проблема: не фиксирует количество символов в числе (например выводит расстояние 12,59 как только падает ниже 10 появляется третий знак, типа 07,451). Если верить паспорту датчик за 2$ не может мерять с такой точностью.
Как форматировать в коде вывод результата всегда в формате ##.##?
Спасибо!
char* c = ftoa(input); char cout[5]; int len = strlen(c); int dot; for(dot=0;dot<len;dot++) { if(c[dot]=='.') break; } for(int i = 0;i<dot+2;i++) { cout[i] = c[i]; } Serial.println(cout);Ну и код.. Слова только неприличные крутятся в голове. Удачи!
Вы бы описание print() почитали...
всегда после точки будет 2 знака даже меньше 10.